演算法優化 探索斐波那契數列的新航線

2021-10-03 17:40:37 字數 414 閱讀 4098

最近沉迷於演算法,總是想著實現與優化,今天想到了斐波那契數列,原來沒咋多想,現在回頭再看看能不能輸出點新花樣?!

func recursive(num int) int 

if num == 1 || num == 2

return recursive(num-1) + recursive(num-2)

}

思路分析:傳入乙個數,它是自頂向下開始算的,比如傳入40,它會先得出第40-1和第40-2,即第29和第28這兩個數, 隨著傳入到函式recursive的值逐漸減少,直到減少到1或2時才真正的到計算的終點。整個過程實際上是個二叉樹。

過程分析:以傳入5為例:因為5!=1因此進行遞迴,開始計算第4和第3這兩個數,即在**

斐波那契數列遞迴演算法的優化

public class fibonacci 未優化的 private static intfd1 int n int a fd1 n 1 fd1 n 2 return n 優化後的 private static longfd int n 檢查陣列中有沒有計算好的結果,如果有,直接返回結果,如果沒有...

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

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

迴圈斐波那契數列 斐波那契數列應用

什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...