動的計画法を使用しない場合、再帰関係のマスター メソッドによると、複雑さが O(2 ^ n) になることがわかっています。
T(n) = T(n-1) + T(n-2)
. しかし、動的計画法を使用すると、それでも O( 2 ^ n) になりますか?
int [ ] fib = new fib [ 32 ] ;
int fibonacci ( int n) {
if ( n == 1 ) return 1 ;
if ( n == 2 ) return 1 ;
// already calculated fibonacci (n)
if ( fib [ n ] != 0) return fib [ n ] ;
return fib [ n ] = fibonacci ( n−1 ) + fibonacci ( n − 2 ) ;
}