能夠直觀地看出演算法之間效率的區別
#include #include #include using namespace std;
/**@brief:fibonacci數,二分遞迴版
/* /*@param:n 求第n項fibonacci數
/*@discription:雖然簡潔明瞭,但是屬於2^n的複雜度,這是無法忍受的 。
/* 並且重複遞迴。
/*@returns: __int64
*/ __int64 fib(int n)
/**@brief:fibonacci數,線性遞迴版
/* /*@param:n 求第n項fibonacci數
/*@discription:
/*
/*@returns: __int64
*/ __int64 fib(int n,__int64 &prev)
else
} //用輔助變數記錄前一項,返回數列的當前項
/**@brief:基於動態規劃策略計算fibonacci數
/* /*@param:n 求第n項
/*@discription:僅僅使用了兩個中間變數,通過n次加法和減法計算fib(n)
fibonacci數列C 語言多種實現
作者 vision chen yeah.net 斐波納契數列 fibonacci sequence 又稱 分割 數列,指的是這樣乙個數列 1 1 2 3 5 8 13 21 在數學上,斐波納契數列以如下被以遞迴的方法定義 f 0 1,f 1 1,f n f n 1 f n 2 n 2,n n inc...
fibonacci數列C 語言多種實現
作者 vision chen yeah.net 斐波納契數列 fibonacci sequence 又稱 分割 數列,指的是這樣乙個數列 1 1 2 3 5 8 13 21 在數學上,斐波納契數列以如下被以遞迴的方法定義 f 0 1,f 1 1,f n f n 1 f n 2 n 2,n n cpp...
計算fibonacci數(多種方法)
include using namespace std 計算fibonacci數 方法一 二分遞迴法,時間複雜度為o 2 n 額外空間複雜度為常數 int recursivefibonacci int n 方法二 線性遞迴,時間複雜度為o n 空間複雜度為o n int linearrecursio...