您的位置:首页 > Web前端

剑指offer之斐波那契数列

2017-02-06 14:15 351 查看
斐波那契数列:

f(n)=0                    n=0;

f(n)=1                    n=1;

f(n)=f(n-1)+f(n-2)   n>1;

用递归有严重的效率问题:

                            f(10)

                  f(9)                 f(8)

          f(8)          f(7)     f(7)     f(6)

      f(7)  f(6)   f(6)  f(5)  。。。

树节点大量重复,时间复杂度以n 的指数的方式递增。

解法一:
if(n==0){
return 0;
}else if(n==1){
return 1;
}else{
int a=0;
int b=0;
int c=1;

for(int i=2;i<=n;i++){
a=b+c;
b=c;
c=a;
}
return a;
}时间复杂度:O(n)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: