汉诺塔问题
汉诺塔(tower of hanoil)问题是源于印度一个古老传说。是递归应用中非常经典的一种表现。
问题大致描述如下
假设有A、B、C三个木桩和n个大小均不相同的盘子,从小到大编号依次为1、2、3 … n,编号越大直径越大。起初,这些盘子均被套在木桩A上,现在希望将A木桩上的盘子借助B木桩当桥梁,以最少次数全部移到C木桩上。在移动时还需遵循以下规则:
- 每次只能移动一个盘子,而且只能从最上面的盘子开始移动。
- 盘子可以从任意一个木桩移动到另一个木桩。
- 直径较小的盘子永远只能至于直径较大的盘子之上.
先分析只有一个盘子的情况,根据这些盘子移动步骤,带来的现象找出汉诺塔问题的规律。