汉诺塔模拟器
用递归算法求解汉诺塔问题的模拟工具——以最少 2ⁿ−1 步移动圆盘,支持单步执行。直接在浏览器中运行。
伪代码
Press Run to animate the algorithm.
Time · Space
使用方法
- 1 点击 Run,观看递归解法将圆盘逐个从 A 柱移动到 C 柱。
- 2 大盘永远不会被放在小盘上——留意这条规则在每一步中都被严格遵守。
- 3 使用 Shuffle 更改圆盘数量,或逐步执行每一次移动。
- 4 n 个圆盘所需的最少步数为 2ⁿ − 1。
为什么使用此工具
- 直观感受经典的递归思路:先把 n−1 个圆盘移到辅助柱,移动最大的圆盘,再把它们移回来。
- 理解为什么每多一个圆盘,所需步数就会翻倍(2ⁿ − 1)。
- 是学习递归式问题分解的绝佳入门案例。
- 完全在你的浏览器中运行,无需注册,无需上传任何文件。
常见问题
汉诺塔是什么?
一种益智游戏,由三根柱子和一叠大小递减的圆盘组成。目标是将整叠圆盘移动到另一根柱子上,每次只能移动一个圆盘,且不能把大盘放在小盘上面。
需要多少步才能完成?
最少步数为 2ⁿ − 1(n 为圆盘数量)——3 个圆盘需要 7 步,5 个圆盘需要 31 步,20 个圆盘则超过一百万步。
递归解法是如何运作的?
要把 n 个圆盘从 A 柱移到 C 柱:先递归地把上面 n−1 个圆盘从 A 移到 B,再把最大的圆盘从 A 移到 C,最后递归地把那 n−1 个圆盘从 B 移到 C。
为什么它是递归的经典范例?
它把一个规模为 n 的问题,拆解成两个规模为 n−1 的子问题,再加一步移动操作——这正是递归式问题分解的本质所在。
什么是 汉诺塔模拟器?
汉诺塔模拟器演示了这道经典三柱问题的递归解法:要移动 n 个圆盘,先把上面 n−1 个圆盘移到辅助柱,再移动最大的圆盘,最后把那 n−1 个圆盘移回目标柱——过程中始终不把大盘放在小盘上面,总共只需 2ⁿ−1 步。
汉诺塔模拟器 是 Zerethon Tools 提供的免费 算法 工具。用递归算法求解汉诺塔问题的模拟工具——以最少 2ⁿ−1 步移动圆盘,支持单步执行。直接在浏览器中运行。. 完全在浏览器中运行 — 无需注册,无需上传。
- 分类
- 算法
- 价格
- 免费
- 隐私
- 基于浏览器
- 注册
- 无需
隐私
除非另有说明,否则你的数据永远不会离开浏览器。汉诺塔模拟器 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。
刚接触?阅读包含 Big-O 分析的分步讲解: 了解 Dynamic Programming →
相关工具
冒泡排序可视化工具
带动画演示的冒泡排序模拟器,提供单步执行、速度调节、自定义输入数据、实时比较/交换计数器以及伪代码同步高亮。完全在浏览器中运行。
打开工具插入排序可视化工具
动画演示插入排序算法,支持单步执行、速度调节、自定义输入数据,并实时显示比较/写入次数与伪代码高亮。完全在浏览器本地运行。
打开工具选择排序可视化工具
以动画方式演示选择排序(Selection Sort),提供逐步执行、速度调节、自定义输入数据、实时的比较/交换计数器以及伪代码展示。完全在浏览器本地运行。
打开工具归并排序可视化工具
带动画演示的归并排序模拟器,支持单步执行、速度调节、自定义输入数据、实时比较/写入计数器以及伪代码高亮显示。完全在浏览器中运行。
打开工具在 Zerethon Social 上创作、分享与成长
免费注册。赚取积分,收集成就,与全球创作者建立联系。