用递归实现斐波那契数列 求解斐波那契数列的时间复杂度,分别用递归和非递归方法?

求解斐波那契数列的时间复杂度,分别用递归和非递归方法?斐波那契数列无限数列1,1,2,3,5,8,13,21,34,55,。。。称为斐波那契数列。它可以递归地定义为1 N=0f(N)=1 N=1f(N

求解斐波那契数列的时间复杂度,分别用递归和非递归方法?

斐波那契数列

无限数列1,1,2,3,5,8,13,21,34,55,。。。称为斐波那契数列。它可以递归地定义为

1 N=0

f(N)=1 N=1

f(N-1)f(N-2)N>1

第N个Fibonacci数可以递归地计算如下:

int Fibonacci(INTN)

{

if(N

returnfibonacci(N-1)Fibonacci(N-2)]}

1 t(N-1)t(N-2)N>1

TN 0 N

时间复杂度为指数时间o(KN)

非递归计算如下:

int Fibonacci(int n)

{

If(n

else{

int a=b=1

for(int i=0i)