最直观的递归过程演示 - 同步显示调用栈与盘子移动全过程
汉诺塔问题:将n个圆盘从A柱移到C柱,每次只能移动一个盘,大盘不能放在小盘上。递归解法:①将n-1个盘从A经C移到B;②将第n个盘从A移到C;③将n-1个盘从B经A移到C。总移动次数=2ⁿ-1。
move(n, from, to, via)
参数含义:将 n 个盘子从 from 柱移动到 to 柱,借助 via 柱。
高亮表示当前正在执行的调用。
绿色边框表示已执行完成的调用。
1. 选择盘子数量 (1-8)
2. 点击"开始"按钮观看动画
3. 使用"单步前进"仔细分析每一步
4. 观察左侧调用栈与动画的同步关系
5. 理解递归的分治思想