汉诺塔问题中,如何通过递归算法实现三根柱子上的圆盘从底到顶的移动过程?
- 内容介绍
- 文章标签
- 相关推荐
本文共计661个文字,预计阅读时间需要3分钟。
汉诺塔详解+以下为示例+以下是我的见解,还希望大家雅正+要把汉诺塔移动到c+需要把1、2、3层移动到b+把4层移动到c+在下面123移动到b+但一次只能动一块+所以我们目前要做的就是把上面三块移动过去
汉诺塔详解
以4层为例
以下为我的拙见,还希望大佬雅正
要把汉诺塔移动到c 需要把1,2,3层移到b 把4移动到c 在吧123移动到b
但是一次只能动一块 所以我们目前要做的就是把上面三块移动到b
那就需要把1 2移动到c
由此我们可以推出要把1,2移动到c,只需要把1移动到b
这里我们发现有很多重复的自相似动作
我们就可以设计递归 递归需要1,递归体 2 出口。
递归体
移动n-1个盘子和1个盘子和n个盘子过程都是相似的
但是每次放入的杆子不一样。
本文共计661个文字,预计阅读时间需要3分钟。
汉诺塔详解+以下为示例+以下是我的见解,还希望大家雅正+要把汉诺塔移动到c+需要把1、2、3层移动到b+把4层移动到c+在下面123移动到b+但一次只能动一块+所以我们目前要做的就是把上面三块移动过去
汉诺塔详解
以4层为例
以下为我的拙见,还希望大佬雅正
要把汉诺塔移动到c 需要把1,2,3层移到b 把4移动到c 在吧123移动到b
但是一次只能动一块 所以我们目前要做的就是把上面三块移动到b
那就需要把1 2移动到c
由此我们可以推出要把1,2移动到c,只需要把1移动到b
这里我们发现有很多重复的自相似动作
我们就可以设计递归 递归需要1,递归体 2 出口。
递归体
移动n-1个盘子和1个盘子和n个盘子过程都是相似的
但是每次放入的杆子不一样。

