专栏名称: 算法爱好者
算法是程序员的内功!伯乐在线旗下账号「算法爱好者」专注分享算法相关文章、工具资源和算法题,帮程序员修炼内功。
今天看啥  ›  专栏  ›  算法爱好者

汉诺塔问题的递归和非递归算法

算法爱好者  · 公众号  · 算法  · 2020-11-22 22:35
(给算法爱好者加星标,修炼编程内功)来源:IT修道者https://blog.csdn.net/computerme/article/details/18080511汉诺塔问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。如果考虑一下把64片金盘,由一根柱子上移到另一根柱子上,并且始终保持上小下大的顺序。这需要多少次移动呢?这里需要递归的方法。假设有n片,移动最少次数是f(n).显然f(1)=1,f(2)=3,f(3)=7,且f(k+1)=2*f(k)+1。此后不难证明f(n)=2^n-1。在本文中,将讨论用递归和非递归的方法 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照