動的計画法
定義に基づいてプログラムを作成すると、次のようになる。
例えば、このプログラムを使ってフィボナッチ数列の第5項を求める場合を考えてみる。このプログラムは再帰的に呼び出されるので、その様子を以下に示す。
このように最終的に fib(0) と fib(1) の呼び出しに収束し、fib(0) と fib(1) の呼び出し回数の和が結果の値となる。この方法を用いたフィボナッチ数列の計算量は O ( 2 n ) {\displaystyle O(2^{n})} の指数関数時間となる。