演算法 求Fibonacci的多種思路和演算法

2021-07-27 13:58:06 字數 809 閱讀 6592

能夠直觀地看出演算法之間效率的區別

#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...