课程主题
- 讲师:小甲鱼
- 内容:斐波那契数列的递归实现
- 风格:轻松调侃,结合趣味案例
斐波那契数列的起源
- 提出者:意大利数学家Leonardo Fibonacci
- 经典案例:兔子繁殖问题
- 繁殖规则:兔子出生2个月后具备繁殖能力,每月产1对;无死亡
- 月份与数量:1月1对→2月1对→3月2对→4月3对→…→12月144对
斐波那契数列与黄金比例
- 数列规律:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)(n>2)
- 黄金比例关联:相邻两项的商越往后越接近0.618:1(或1:1.618)
- 应用场景:绘画(蒙娜丽莎)、雕塑(维纳斯)的比例设计
实战任务:求20个月后兔子数量
迭代实现
- 核心逻辑:处理边界值(n<1返回-1),通过循环迭代计算前两项之和
- 步骤:初始化基础值→循环更新前两项→输出结果
- 20个月结果:6765对
递归实现
- 核心逻辑:匹配数列数学定义,设置双停止条件
- 边界处理:n<1返回-1;n=1或n=2返回1
- 递归公式:F(n)=F(n-1)+F(n-2)
- 分治思想:复杂问题拆解为更小的同类问题,逐层求解再汇总
- 20个月结果:6765对
迭代 vs 递归的效率对比
- 递归缺陷:n增大时效率骤降(如n=35需等待数秒,n=40+耗时更久)
- 迭代优势:效率稳定,n值大时仍能快速计算
- 核心原因:递归需频繁函数调用压栈/弹栈,迭代仅需循环运算