計算fibonacci數(多種方法)

2022-08-03 16:54:13 字數 429 閱讀 6023

#include  using

namespace

std;

//計算fibonacci數

//方法一:二分遞迴法,時間複雜度為o(2^n),額外空間複雜度為常數

int recursivefibonacci(int

n)//

方法二:線性遞迴,時間複雜度為o(n),空間複雜度為o(n)

int linearrecursionfibnoacci(int n,int& prev)//

要用到引用,要不不可以!!!!

else}//

方法三:迭代法,時間複雜度為o(n),空間複雜度為常數

int iterationfibonacci(int

n)

returng;}

intmain()

高效計算Fibonacci數

以前只知道使用遞迴或遞推的方法,最近在csdn論壇上學到一種新的解法,在自己所知的幾個演算法裡,它具有最好的執行效率。這種方法使用下面這個關於fibonacci數的矩陣恒等式 這個演算法就是根據這個恒等式,通過計算等式右邊的那個矩陣的n次方來計算第n個fibonacci數。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...