#3447. [GESP202412 五级 C++] 第 4 题

[GESP202412 五级 C++] 第 4 题

对下面两个函数,说法错误的是( )。

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);
}

{{ select(1) }}

  • 两个函数的实现的功能相同。
  • fibA 采用递推方式。
  • fibB 采用的是递归方式。
  • fibA 时间复杂度为 O(n)O(n)fibB 的时间复杂度为 O(n2)O(n^2)