GESP C++ 真题 · 逐题精解
首页C++七级真题 › 2025年9月 › 第12题

GESP 2025年9月 C++七级 单选题 第12题

C++七级单选题2025年9月第12题

所属知识点:复杂度分析(递归/各类算法) 难度要求:— 考频:—

下面程序的时间复杂度为(记忆化只读不写):
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);   // 未写回 rec_fib[n]
}

正确答案:A

题目解析
代码只「读」rec_fib 却从不「写回」,记忆化失效,退化为朴素递归 fib(n)=fib(n-1)+fib(n-2),调用次数按斐波那契数 ~φⁿ 增长,故 O(φⁿ),选 A。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习