单选题

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

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时间复杂度为O(n),fibB的时间复杂度为O(n^2)

赣ICP备20007335号-2