演算法入門 斐波那契數列和演算法的時間複雜度

2021-08-29 13:56:19 字數 985 閱讀 7567

此處使用三種方式實現斐波那契數列:遞迴、遞推和通項公式。

實現過程如下:

#include#include#include#includeusing namespace std;

// 遞迴

int recurrence1(int n)

// 遞推

int recurrence2(int n)

}// 通項公式(得到的值都是整數)

/**pow函式原型:

double pow ( double base, double exponent );

long double pow ( long double base, long double exponent );

float pow ( float base, float exponent );

double pow ( double base, int exponent );

long double pow ( long double base, int exponent );

sqrt函式原型:

double sqrt ( double x );

float sqrt ( float x );

long double sqrt ( long double x );

*/int getgeneraltermformula(int n)

int main()

return 0;

}

時間複雜度:遞迴:o(

因為每乙個數都要通過遞迴求到a[0]或a[1]

遞推:o(n)

通項公式:o(1)

Python演算法 斐波那契數列

典型的遞迴演算法 快速排序會用到 先做個鋪墊 斐波那契數列即著名的兔子數列 1 1 2 3 5 8 13 21 34 數列特點 該數列從第三項開始,每個數的值為其前兩個數之和,用python實現起來很簡單 定義fibonacci數列如下 非遞迴方法的函式實現 def fibs num result ...

演算法之斐波那契數列

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 斐波那契當時是為了描述如下情況的兔子生長數目 第乙個月初,有一對剛誕生的兔子 第二個月之後 第三個月初 它們可以生育 ...

斐波那契數列Log n 演算法

想法源於題目 乙個人一次可以上乙個台階,也可以上兩個台階,問上到20級台階有多少種走法?這就是乙個斐波那契數列 登上第一級台階有一種登法 登上兩級台階,有兩種登法 登上 台階,有三種登法 登上四級台階,有五種方法 所以,1,2,3,5,8,13 我們也會發現 f 3 f 2 f 1 f 4 2 f2...