小甲鱼Python学习笔记

课程主题

  • 讲师:小甲鱼
  • 内容:斐波那契数列的递归实现
  • 风格:轻松调侃,结合趣味案例

斐波那契数列的起源

  • 提出者:意大利数学家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值大时仍能快速计算
  • 核心原因:递归需频繁函数调用压栈/弹栈,迭代仅需循环运算