🪞
递归初探
函数调用自己
📖知识引入
🪞递归调用
函数在内部调用自己,将大问题分解为小问题,像俄罗斯套娃
⏹️基准条件
递归必须有停止条件,否则会栈溢出
📐经典应用
阶乘、斐波那契数列是递归的经典应用
📚调用栈
每次递归调用压入栈中,返回时弹出,层层返回
⚠️栈溢出
递归太深会耗尽栈空间导致崩溃,要注意深度
🔍递归斐波那契示例
📝递归斐波那契示例
💻
点击「运行」查看输出
递归像俄罗斯套娃,层层打开:
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课完成!继续探索下一课吧 🚀