經典演算法詳解(1)斐波那契數列的n項

2021-09-20 08:19:58 字數 479 閱讀 2496

斐波那契數列是乙個常識性的知識,它指的是這樣的乙個數列,它的第一項是1,第二項是1,後面每一項都是它前面兩項的和,如:1,1,2,3,5,8,13,21,34,55,89,144,233……

說明:由於通過遞推方式效率低,系統開銷大,空間複雜度高,故不考慮。

1

/*斐波那契數列:第一項和第二項為1,後面各項是其前面兩項之和*/2

/*編寫乙個函式,輸入整數n,求該項的值*/3

4 #include5

6using

namespace

std;78

int fibonacci(int

n) 12

if ((n == 1 )||( n ==2

)) 15

else

22return

fib_3;23}

24}2526

int main(int argc, char *ar**)

斐波那契數列 詳解

下面來簡單說一下斐波那契數列的有效率的解法 我們剛剛接觸遞迴時肯定學習了斐波那契數列這樣乙個經典的例子,但這裡的遞迴演算法有一些效率問題。因為如果我們求fib 100 時。我們會發現產生了許多的重複運算。這些不但消耗著計算時間和資源容易產生棧溢位。這是非常危險的。所以下面介紹乙個迭代的演算法 演算法...

經典演算法學習 斐波那契數列

在我們學習演算法的過程中,斐波那契數列肯定是會碰到的乙個東西,其實我們並不是為了學習乙個簡單的數列,更重要的是學習他的思想 遞迴。個人覺得遞迴是解決很多演算法問題最高頻的方法了。遞迴最簡單的描述就是乙個函式自己呼叫自己,達到乙個條件的時候,遞迴結束。比如我們在以下場景常常用遞迴 快速排序 歸併排序 ...

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...