斐波那契数列
概念:
f(0)=0
f(1)=1
f(n)=f(n-1)+f(n-2)(当n>=2时)
1递归法
def fibo(n)
count++#递归一次计数加1
if n==0 or n==1:
return n
return f(n-1)+f(n-2)
2正推法
正常情况首先考虑正推法
def fibo(n)
arr[0]=0
arr[1]=1
for i in range(2,n):
arr[i]=arr[i-1]+arr[i-2]
return arr[n]
正推法的时间复杂度是O(n)
3通项公式
问题变为求解a的n次方,用for循环为 O(n)
用分治法时间 复杂度是logn