Recursive Fibonacci

Here are two recursive fibonacci functions in ML I did for CS243. Can you tell which one is more efficient?

1
2
3
4
5
6
7
8
9
10
11
12
fun fibonacci(n) =
  let
      fun fib((a, b), i)=  
    if i=0 then b
        else fib((b, a + b), i-1);
           in
  fib((0, 1), n)
  end;

fun fibonacci(0) = 1
  | fibonacci(1) = 1
  | fibonacci(n) = fibonacci(n-1) + fibonacci(n-2);

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*