3个钉(或杆,或你称之为它们的任何东西)的迭代算法是重复以下两点:
一。向右/向左移动最小的磁盘(如果是奇数/偶数)
2.在不触碰最小圆盘的情况下向左移动一次
我的问题是-对于n>3个peg是否有类似的算法?
我在网上找不到这个(至少是迭代的)我一个人想不出什么。上面的算法就是不起作用-它只能很小的移动磁盘。
我知道我以前发过两个相关的问题,你也不太欢迎,所以在你投反对票之前-写我在评论里自己研究更多的信息,我正在删除这个帖子。

最佳答案

n>1个圆盘的3-peg hanoi问题的一般递归算法(n==1的情况无关紧要)是:
将n-1个磁盘从源peg移动到第三个peg(不是源或目标的peg)
将最大的磁盘移到目标钉上。
将n-1个磁盘从第三个钉移动到目标钉。
对于超过3个peg,算法是相同的只需将“第三个钉”替换为“任何未使用的钉”。
注意,该算法没有使用“向左移动”或“向右移动”等术语。
正如@nhahtdh在注释中指出的,任何递归算法都可以通过标准方法转换为迭代算法。

10-04 20:58