2
我知道斐波那契算法可以在不遞歸這樣的編程:是不是遞歸線性的斐波那契算法?
int fibo(int n){
if(n <= 1){
return n;
}
int fibo = 1;
int fiboPrev = 1;
for(int i = 2; i < n; ++i){
int temp = fibo;
fibo += fiboPrev;
fiboPrev = temp;
}
return fibo;
}
,也該遞歸斐波那契具有複雜度O(2^k)的約,但我所看到的非遞歸算法是O(n);所以它看起來更有效率,是不是我的微積分還是非遞歸解決方案中存在任何隱藏的複雜性?
不同的算法可能會有不同的複雜性,即使它們計算相同的東西。防爆。有幾個「O(n^2)」排序算法,還有幾個「O(n log n)」排序算法。 – 2014-10-19 14:44:10
另外看看斐波那契數可以表示爲一個單一的非遞歸方程:http://mathworld.wolfram.com/BinetsFibonacciNumberFormula.html – Esse 2014-10-19 15:09:37