摘要:
如果对汉诺塔算法的理解有困难,建议查看《程序员的数学》:第6章 递归——自己定义自己 这一章作者详细用图形介绍了汉诺塔递归算法,便于理解,茅塞顿开! 现对该算法从递归和非递归两个方面做如下总结: 1.递归算法分析如下, 设A上有n个盘子。 如果n=1,则将圆盘从A直接移动到C。 如果n... 阅读全文
摘要:
引言 汉诺塔算法一直是算法设计科目的最具代表性的研究问题,本文关注于如何设计多柱汉诺塔最优算法的探究。最简单的汉诺塔是三个柱子(A、B、C),因此多柱汉诺塔的柱子个数M≥3。下面从三柱汉诺塔说起,慢慢深入我们要关心的问题。 1. 三柱汉诺塔 三柱汉诺塔是经典的汉诺塔问题,在算法设计中是递归算法的... 阅读全文
摘要:
汉诺塔问题的递归实现 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一... 阅读全文