CSP-J 题库递归与斐波那契程序阅读题

阅读以下程序,回答子问题:

程序阅读题 第 47 题 · CSP-J 入门级 初赛题库
int fib(int n){
    if(n==1 || n==2) return 1;
    return fib(n-1) + fib(n-2);
}
  • fib(5) 的返回值是?
    答案:5
    解析:斐波那契数列第 1~5 项为 1,1,2,3,5,故返回 5。
  • 该算法的时间复杂度约为?
    答案:O(2^n)(指数级)
    解析:递归树呈指数增长,约为 O(2^n)。
  • 当 n 很大(如 40)时,该写法主要问题是什么?
    答案:存在大量重复子问题,效率极低
    解析:fib(n-1) 与 fib(n-2) 重复计算,应改用递推或记忆化。

本题收录于「CSP-J 入门级 初赛题库」,共 51 道题,全部提供答案与解析。可进入在线练习系统按知识点随机组卷、自动批改并归集错题。

进入在线练习 查看完整试卷 本类全部题目