剑指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)
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)
相关文章推荐
- 【剑指Offer】斐波那契数列
- 剑指offer——斐波那契数列
- 剑指offer---010(斐波那契数列)
- 剑指offer-题9:斐波那契数列
- [牛客网,剑指offer,python] 斐波那契数列
- 【剑指offer】斐波那契数列
- 剑指Offer---面试题9:斐波那契数列
- 剑指offer - 面试题9:斐波那契数列
- <剑指offer 面试题10_1>斐波那契数列 Java
- 剑指offer编程题——09 斐波那契数列以及相关问题
- 剑指offer 斐波那契数列
- [牛客网,剑指offer,python] 斐波那契数列
- 剑指Offer 9题 斐波那契数列(Fibonacci) Java版
- 【剑指offer】第十题(斐波那契数列)和 第十一题(旋转数组的最小数字)
- 剑指offer之面试题9:斐波那契数列
- 剑指offer第七题斐波那契数列
- 【剑指offer】【斐波那契数列 】递归还是循环
- 【剑指offer】面试题9:斐波那契数列
- 剑指offer_7 斐波那契数列
- 【剑指offer】面试题9:斐波那契数列