剑指offer之斐波那契数列

来源:互联网 发布:黑马程序员教程百度云 编辑:程序博客网 时间:2024/06/11 01:43

斐波那契数列:

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)




0 0
原创粉丝点击