回复

花将离

2018年10月13日

设移动n个盘子的汉诺塔问题需要g(n)次移动操作来完成。由展示移动过程算法可知g(n)应是三部分之和。
(1) 将n个盘上面的n-1个盘子借助C桩从A桩移到B桩上,需g(n-1)次移动;
(2) 然后将A桩上第n个盘子移到C桩上(1次);
(3) 最后,将B桩上的n-1个盘子借助A桩移到C桩上,需g(n-1)次。
因而有递归关系:
g(n)=2*g(n-1)+1
初始条件(递归出口):
g(1)=1
即 1、3、7、15、31。。。即g(n) = 2^n -1 

0 0
回复
暂无回复
查看更多
我要回复