29课:递归初探
🪞

递归初探

函数调用自己

📖知识引入

🪞递归调用
函数在内部调用自己,将大问题分解为小问题,像俄罗斯套娃
⏹️基准条件
递归必须有停止条件,否则会栈溢出
📐经典应用
阶乘、斐波那契数列是递归的经典应用
📚调用栈
每次递归调用压入栈中,返回时弹出,层层返回
⚠️栈溢出
递归太深会耗尽栈空间导致崩溃,要注意深度

🔍递归斐波那契示例

📝递归斐波那契示例
💻
点击「运行」查看输出
递归像俄罗斯套娃,层层打开:
  fib(5) = fib(4) + fib(3)
           │           │
     fib(3)+fib(2)  fib(2)+fib(1)
      ...

基准条件:fib(0)=0, fib(1)=1

fib调用树:
        fib(5)
       /      \
   fib(4)    fib(3)
   /    \    /    \
 fib(3) fib(2) fib(2) fib(1)
  ...

斐波那契数列:0 1 1 2 3 5 8 13...

🎯小测验

1题:递归必须有什么?

2题:fib(5)等于?

3题:递归如果没有基准条件会怎样?

📝本课知识点

  • 递归调用自己
  • 基准条件停止
  • 斐波那契数列
  • 调用栈层层返回
  • 无基准条件会栈溢出
29课完成!继续探索下一课吧 🚀