汉诺(Hanoi)塔问题:古代有一个梵塔塔内有三个座A、B、C,A座上有64个盘子盘子大小不等,大的在下小的在上(如图找了张5个的,意思一样)有一个和尚想把这64个盘子從A座移到B座,但每次只能允许移动一个盘子并且在移动过程中,3个座上的盘子始终保持大盘在下小盘在上。在移动过程中可以利用B座要求打印移动的步骤。如果只有一个盘子则不需要利用B座,直接将盘子从A移动到C
以5个盘子为例,进行分析
先将上面4个盘子看成一個整体,那么第一步需要借助B柱子,将上面4个盘子放在B柱子上然后将A柱子最底的第5个盘子放到C柱子上,如下图所示:
那么问题就依赖於B柱子上的4个盘子如何移动也就是n-1个盘子如何从B移动到C上面,这个问题又依赖于3个盘子如何移动
最终转化为1个盘子移动的问题,最终狀态:
第一个盘子直接从A移动到C 先把前n-1个盘子从A借助C移动到B 把第n个盘子从A移动到C 再把前n-1个盘子从B借助A移动到C以3个盘子为例进行演示:
后记:当手动地解决这个难题时,有一个经验法则可以提供帮助,如果试图要移动的子树含有奇数个盘子开始时直接把最顶端嘚盘子移动到目标柱子上,如果试图要移动的盘子是偶数那么开始要把最顶端的盘子移动到中介柱子上。
中国男子200米记录:4102
全国田径锦标賽 1996年5月7日 南京
中国女子100米记录:
10秒79 李雪梅 第八届全国运动会 1997年10月18日 上海
中国女子200米记录:
22秒01 李雪梅 第八届全国运动会 1997年10月22日 上海
你对这个囙答的评价是
你对这个回答的评价是?
下载百度知道APP抢鲜体验
使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。