コンテンツへスキップ
uencoder

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)
    Output
    55

    0,1,1,2,3,5,8,13,21,34,55

よくあるエラー

Naive recursion recomputes subproblems and runs exponentially slow
Use memoization or fast matrix exponentiation

関連用語

関連ツール

References