4根柱的汉诺塔算法

来源:互联网 发布:在window下安装ubuntu 编辑:程序博客网 时间:2024/05/21 22:35

其中一个算法思路:

将n个盘从A针移到D针可以分解为以下三个步骤:
1、将A针上x个盘借助C、D针先移到B针上;
2、把A针上剩下的n-x个盘借助C针移到D针上;
3、将B针上x个盘借助A、C针移到D针上。
上面第1步和第3步都是将x个盘从一个针借助其他两针移到另一个针上。实际上是本问题的递归。
第2步实质是n-x个盘的汉诺塔问题。也是一个递归。

 

当n=1和n=2时,成了汉诺塔问题。变形汉诺塔问题归要结底是汉诺塔问题的拼凑。不过最少的移动步骤并不唯一。

原创粉丝点击