参考链接 汉诺塔问题描述 汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一 ...
分类:
其他好文 时间:
2016-10-02 10:47:32
阅读次数:
135
当然、这是一个经典的递归问题~ 想必来看这篇博文的同学对汉诺塔应该不会陌生了吧, 写这篇博还是有初衷的: 之前学数据结构的时候自己看书、也上网上查了很多资料,资料都比较散、而且描述的不是很清楚,对于当时刚刚 接触算法的我,要完全理解还是有一定难度。今天刚好有时间就整理了下思路、重写分析了一下之前的疑 ...
分类:
其他好文 时间:
2016-09-28 02:06:38
阅读次数:
89
递归(recursion):程序调用自身的编程技巧。 递归满足2个条件: 1)有反复执行的过程(调用自身) 2)有跳出反复执行过程的条件(递归出口) 递归例子: (1)阶乘 n! = n * (n-1) * (n-2) * ...* 1(n>0) (2)河内塔问题 (3)全排列 从n个不同元素中任取 ...
分类:
编程语言 时间:
2016-09-26 16:12:41
阅读次数:
160
首先贴出Python编写的汉诺塔算法的代码: def hanoti(n,x1,x2,x3): if(n == 1): print('move:',x1,'-->',x3) return hanoti(n-1,x1,x3,x2) print('move:',x1,'-->',x3) hanoti(n- ...
分类:
编程语言 时间:
2016-09-23 23:14:19
阅读次数:
258
1019: [SHOI2008]汉诺塔 Description 汉诺塔由三根柱子(分别用A B C表示)和n个大小互不相同的空心盘子组成。一开始n个盘子都摞在柱子A上,大的在下面,小的在上面,形成了一个塔状的锥形体。 对汉诺塔的一次合法的操作是指:从一根柱子的最上层拿一个盘子放到另一根柱子的最上层, ...
分类:
其他好文 时间:
2016-09-22 14:34:56
阅读次数:
216
1. A->C->B; 2.B->A-C; ...
分类:
其他好文 时间:
2016-09-19 22:05:31
阅读次数:
158
最近在校招打酱油,闲得没事想起了大一学过的汉诺塔,不过那时只知道玩游戏,一次性3~7个玩过了,还是有成就感的呵呵。游戏链接:http://www.7k7k.com/swf/335.htm。 看了网上很多递归方法,像 是最多的,如果觉得难以理解,就看看我下午自己搞的递归吧。 代码不需要全部贴出来,只贴 ...
分类:
其他好文 时间:
2016-09-19 19:25:32
阅读次数:
199
题目描述 Description 给定A、B、C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形)。现要将这些圆盘移到C柱上,在移动过程中可放在B柱上暂存。要求: (1)每次只能移动一个圆盘; (2)A ...
分类:
其他好文 时间:
2016-09-18 07:46:56
阅读次数:
143
修改一下汉诺塔的游戏规则,现在不能直接从左边走到右边,也不能直接右边走到左边。 方法一:递归实现 现在分析一下,比如左边有1~n,那么移动最后一个的情况,就是: 1.1-n-1从左边移动到右边 2.n从左边移动到中间 3.1-n-1从右边移动到左边 4.n从中间移动到右边 5.1-n-1从左边移动到 ...
分类:
其他好文 时间:
2016-09-17 16:27:37
阅读次数:
126
约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。目的是将最左边杆上的盘全部移到右边的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。现在我们改变游戏的玩法,不允许直接从最左(右)边移到最右(左)边(每次移动一 ...
分类:
其他好文 时间:
2016-09-15 11:08:32
阅读次数:
127