Fast Fibonacci recursion

前端 未结 9 1669

I\'m trying to recall an algorithm on Fibonacci recursion. The following:

public int fibonacci(int n)  {
  if(n == 0)
    return 0;
  else if(n == 1)
    ret         


        
9条回答
  •  太阳男子
    2020-12-07 23:50

    maybe like this:

    int fib(int term, int val = 1, int prev = 0)
    {
     if(term == 0) return prev;
     return fib(term - 1, val+prev, val);
    }
    

    this function is tail recursive. this means it could be optimized and executed very efficiently. In fact, it gets optimized into a simple loop..

提交回复
热议问题