斐波那契数列
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987...
从第3项开始,每一项都等于前两项之和。
特别指出:第0项是0,第1项是1。
1、递归思想
def fibo(n):
if n <= 2:
return 1
else:
return fibo(n-1) + fibo(n-2)
由于不断重复有调用函数自身,存在多次重复操作。*
可以导入模块time查看,n=38时,耗时已达14秒
时间复杂度为2的n次方。*
随着n增大,时间复杂度指数级增长
2、带有备忘录的递归方法(自顶向下)
直接递归,会导致很多重复操作。现在我们用一个“备忘录”,将已经解决的子问题存储起来。下次