Fibonacci Search

與Binary Search有點像,但是是利用Fibonacci Sequence做切割。

Pros

  • 平均計算次數少於Binary Search(其實相差不大),
  • 收斂快速
  • 只會用到加減,在運算上也較為快速。

Cons

  • 必須先建立Fibonacci Tree

Example

資料個數 n, 費氏樹階層 k

求 n = 33 的費氏樹:
1. 由於 n = 33, 且 n+1 = 34 為一費氏樹 (Fib(9)=34) , 故 Fib(k+1)=34 -> k=8, 建立二元樹的樹根為 Fib(8)=21.
2. 左子樹樹根為 Fib(8-1) = Fib(7) = 13
3. 右子樹樹根為 Fib(8) + Fib(8-2) = 21 + 8 = 29

References

results matching ""

    No results matching ""