对下面两个函数,说法错误的是( )。
int fibA(int n) {
if (n <= 1) return n;
int f1 = 0, f2 = 1;
for (int i = 2; i <= n; ++i) {
int temp = f2;
f2 = f1 + f2;
f1 = temp;
}
return f2;
}
int fibB(int n) {
if (n <= 1) return n;
return fibB(n - 1) + fibB(n - 2);
}
- A. 两个函数的实现的功能相同。
- B. fibA采用递推方式。
- C. fibB采用的是递归方式。
- D. fibA时间复杂度为 ,fibB的时间复杂度为 。
正确答案:D