斐波那契数列
斐波那契数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、55、……
数学上,斐波纳契数列被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。
首先由兔子繁殖为例引入,又称兔子数列。在兔子繁殖中,实质问题是 今年生兔子数=去年生兔子数+新生兔子数 。
1.递归实现
除最后一个数外,每个数都被重复计算若干次。效率低。
int Fibon(int n){
if(n==1||n==2){
return 1;
}else{
return Fibon(n-1)+Fibon(n-2);
}
}
2.数组实现(记忆化搜索)
比递归快。效率一般。
int b[100]={0};
int Fibon(int n){
if(b[n]!=0){
return b[n];
}
if(n<3){
b[n]=1;
}else{
b[n]=Fibon(n-1)+Fibon(n-2);
}
return b[n];
}
其中,斐波那契数列按照 奇、奇、偶 的规律排列。
参考资料:
1.C语言斐波那契数列的四种实现方式—递归,迭代,数组,队列
2.五种方法实现斐波那契数列->待学习

浙公网安备 33010602011771号