Fibonacci Sequence
フィボナッチ数列は各項が前の 2 項の和である数列(0,1,1,2,3,5,8...)であり、黄金比と関係し、自然界とアルゴリズムに広く現れる。
目的
増加パターンを記述し、自然現象やアルゴリズムの複雑度解析に現れる。
メカニズム
F(0)=0、F(1)=1、F(n)=F(n-1)+F(n-2)。閉形式(ビネの公式):F(n)=(φ^n-ψ^n)/√5、φ=(1+√5)/2 が黄金比。行列べき乗や高速倍増法で O(log n) で計算できる。素朴な再帰は O(φ^n) で指数的に遅い。
ユースケース
- アルゴリズムの複雑度解析
- テクニカル指標の計算(フィボナッチ・リトレースメント)
- 自然パターンのモデリング
- DP(動的計画法)の教育
例
- 入力
F(10)Output550,1,1,2,3,5,8,13,21,34,55
よくあるエラー
- Naive recursion recomputes subproblems and runs exponentially slow
- Use memoization or fast matrix exponentiation