演算法 斐波那契和變種的學習

2021-07-28 02:22:32 字數 721 閱讀 2065

方法1:遞迴方法

/*

* 斐波那契數列

* 0 1 1 2 3 5 8 13 21........

* 就是fn=f n-1 + f n-2 ,某乙個數字都是它前面2個數字之和 ,求第n位

* *

* *

* */

package alg3yur8;

public class feb

public static void main(string args)

}

方法2 變數交換迴圈相加

/*

* * 0 1 1 2 3 5 8 13

* 用迴圈的方法求斐波那契

* 變數交換

* 1 v1 + v2 = v3

* 2 把v3 交給v2 ,把v2交給v1

* 3 再執行 第一步,繼續迴圈

* * */

package alg3yue81;

public class feb2

return val3;

} public static void main(string args)

}

思路:

參考文獻

斐波那契演算法

其思想與折半查詢 插值查詢沒有多大區別,本質上只是分割點的選擇不同。斐波那契查詢需要構造斐波那契數列,該數列的作用就是提供分割點 好多演算法書都沒有介紹清楚啊!參閱折半查詢 插值查詢以及斐波那契查詢 1 演算法首先找到構造乙個查詢表,即在原來的陣列上新增元素,使得該查詢表 陣列 的長度為某個斐波那契...

斐波那契查詢演算法

與二分查詢相比,斐波那契查詢演算法的明顯優點在於它只涉及加法和減法運算,而不用除法。因為除法比加減法要占去更多的機時,因此,斐波那契查詢的平均效能要比折半查詢好。include void fibonacci int f int fibonacci search int a,int key,int n...

演算法 斐波那契(1)

1.乙隻青蛙一次可以跳上一級台階,也可以跳上二級台階 為了跳上n級台階一共有幾種跳法 解析 1.n 1 1種 2.n 2 2種 3.n級台階可以由n 1或者n 2級台階跳上來f n f n 2 f n 1 include using namespace std int a 100 int jump ...