问题描述:
有形如 1,1,2,3,5,8,13,21,34...的数列,从第三项开始的结果为前两项之和,称作斐波拉切数列,即f(0) =0,f(1) =1;f(n) = f(n-1) + F(n-2);
解决思路:
1.采用递归的方式,从上而下计算,优点是理解简单,缺点是复杂度太高,呈指数增长
2.方法一是因为重复计算了,比如要算f(4)需先求出f(3)和f(2),要算f(3)要先求出f(2)和f(1),这里f(2)被计算了两次了,n越大,重复的越多,好的方法是重复的就不计算了
3.方法2的复杂度已经为O(n),但是使用的递归,n太多会造成堆栈溢出,所以