🐰 斐波那契 DFS 递归树动画
看清楚 fib(n) 是怎么一层层递归、回溯、合并答案的
🎮 控制面板
输入 n,建议 3 ~ 8
生成递归树
单步执行
自动播放
暂停
重置
动画速度
当前间隔:900 ms
当前调用
-
总调用次数
0
最终答案
?
最大递归深度
0
📚 DFS 调用栈
讲课重点:
DFS 先一路往下调用,遇到
fib(0)
或
fib(1)
直接返回。
回来的时候再把左右孩子的结果相加:
fib(n)=fib(n-1)+fib(n-2)
。
🌳 递归树动画区
等待开始
💻 对应代码
int fib(int n){
if(n == 0) return 0;
if(n == 1) return 1;
int x = fib(n - 1);
int y = fib(n - 2);
return x + y;
}
📝 执行日志
粉色节点表示:同一个 fib(k) 被重复计算了很多次,这就是普通递归斐波那契慢的原因。