下面程序的时间复杂度为( )。
int rec_fib[MAX_N];
int fib(int n) {
if (n <= 1)
return n;
if (rec_fib[n] != 0)
return rec_fib[n];
return fib(n - 1) + fib(n - 2);
}
( O(\phi^n), \phi = \frac{\sqrt{5}+1}{2} )
( O(2^n) )
( O(n^2) )
( O(n) )