下面 fib 函数的时间复杂度为( )。
编者注:官方原题 B 选项此处写作 ,但该数小于 ,与递归时间复杂度及官方答案 B 矛盾;本题按题意修正为 。
int fib_rcd[MAX_N];
int fib(int n) {
if (n <= 1)
return 1;
if (fib_rcd[n] > 0)
return fib_rcd[n];
return fib(n - 1) + fib(n - 2);
}
- A.
- B. ,其中
- C.
- D. 无法正常结束。