1、算法描述
Fibonacci数列如下:
1, 1, 2, 3, 5, 8, 13, 21, ...
由数据得:f(n) = f(n-1) + f(n-2)
2、普通的递归算法
1)代码如下:
2)分析:
时间复杂度:O(20.694n)约等于O(1.6n)
缺陷:有大量的重复计算步骤
3、对普通递归算法的改进:
1)代码如下:
2)分析:
时间复杂度:(尚不明确,但比fib1时间复杂度低)
改进:与fib1相比,fib2没有重复计算步骤
4、多项式算法:
1)代码如下:
2)分析:
时间复杂度:O(n)
缺点:增加了内存的额外消耗
5、矩阵法:
1)代码