理解河内塔的递归规则

时间:2017-09-19 18:09:04

标签: algorithm data-structures towers-of-hanoi

我是数据结构和算法的初学者,最近遇到了河内算法塔。我看到一个冲突,我无法弄清楚河内塔的规则(递归方法)和冲突的标准方式:

根据标准规则:

  1. 在任何给定时间,只能在塔之间移动一个磁盘。
  2. 只有" top"磁盘可以删除。
  3. 没有大磁盘可以放在小磁盘上。
  4. 根据递归方法:

    1. 将n-1个磁盘从源移动到辅助。
    2. 将第n个磁盘从源移动到目标。
    3. 将n-1个磁盘从aux移动到目标。
    4. 正如您所看到的,这两种方法的第一和第二规则之间存在差异。

1 个答案:

答案 0 :(得分:0)

为了帮助您理解第二种方法的含义,当它说n-1个磁盘从源移动到aux时,这意味着从源顶部取n-1次,并将顶部磁盘移动到aux。因此,一次移动一个磁盘,每次都移除顶部磁盘。然后第n个磁盘现在是顶部,因此它可以移动到目标。现在您可以重复第3步。