斐波拉数列

斐波拉数列的递归算法与非递归算法分析
斐波拉切数列指的是这样一个数列:1、1、2、3、5、8、13、21、34·······由此可以得到如下的递推公式:
F(1) = 1, F(2) = 1, F(3) = F(2) + F(1) ·· 由此可以计算出第n项的值为: F(n) = F(n-1) + F(n-2)
非递归算法 O(n)=n
int fabio_for(int n)

{
int f1=1;
int f2=1;
int f3=1;
for(int i=2;i {
f3=f1+f2;
f1=f2;
f2=f3;

}
return f3;
}
递归算法 O(n)=2^n
int fabio(int n)
{
if(n1||n0)
{
return 1;
}
return fabio(n-1)+fabio(n-2);

}
斐波拉是递归的经典问题,但是并不适用于递归算法,

你可能感兴趣的:(c)