汉诺塔算法
汉诺塔?汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘…… 以上内容摘自百度百科 回归正题,笔者最近在回顾递归概论时看到了这道经典问题,这估计也是最有名的递归问题之一。递归算法的优势在于结构,但其中结构逻辑又往往令人头痛欲裂。本文是笔者为个人在实现算法过程中的逻辑梳理;(因递归特性,先理清递归逻辑与工作栈对于实现过程是必要的,这里笔者使用的是经典分治法)。下面开始吧(qwq) 算法问题汉诺塔的规则有三点:1.每次只能移动一个圆盘。2.圆盘可以插在任意一个柱上。3.任何时刻大号圆盘都不能在小号圆盘上。 算法目的就是遵循规则前提下按照原来顺序将处在A柱上的圆盘转移到C柱上 思路乍一看好像这是个挺简单的问题?让我们先来进行初次移动试试: 这里我们定义一个4阶汉诺塔(限于语法以及笔者懒此处采用文字图表来表示): A.4...
Hey look here!
你好!如果你是无意中看到这里进来的;那么你可以走开了; 关于其他的东西:一般都会整理分类到[^归档]里面的,除非实在太忙[^归档]: 不限于各种整合包评论或者游戏评论还是我的工程之类的 网站标题来自于我小时候一段快乐的时光,但时光已逝