目前看过的书籍中分析递归最好的是日本人吉城浩写的《程序员的数学》 总结: 汉诺塔 汉诺塔的问题 现在我们先不需要知道递归是什么,也没必要,我们先来看一个非常经典的游戏—汉诺塔,该游戏是数学家爱德华卢卡斯于1883年发明的,游戏的规则如下,有三根细柱(A、B、C),A柱上套着6个圆盘,圆盘的大小都不一 ...
分类:
编程语言 时间:
2018-08-22 16:58:39
阅读次数:
167
规则 1. 每次移动一个盘子 2. 任何时候大盘子在下面,小盘子在上面 方法 假设共n个盘子 当n=1时: 1. 直接把A上的一个盘子移动到C上(==A C==) 当n=2时: 1. 把小盘子从A放到B上(==A B==)<! 这里开始采用参数,rsc源地址=A,dst目的地址=B 2. 把大盘子从 ...
分类:
编程语言 时间:
2018-08-21 23:06:13
阅读次数:
276
规则: 1. 每次移动一个盘子 2. 任何时候大盘子在下面,小盘子在上面 方法: n=1: 直接把A上的一个盘子移动到C上, A C n=2: 1. 把小盘子从A放到B上, A B 2. 把大盘子从A放到C上, A C 3. 把小盘子从B放到C上, B C n=3: 1. 把A上的两个盘子,通过C移 ...
分类:
其他好文 时间:
2018-08-20 23:27:03
阅读次数:
210
规则: 1. 每次移动一个盘子 2. 任何时候大盘子在下面,小盘子在上面 方法: n=1: 直接把A上的一个盘子移动到C上, A C n=2: 1. 把小盘子从A放到B上, A B 2. 把大盘子从A放到C上, A C 3. 把小盘子从B放到C上, B C n=3: 1. 把A上的两个盘子,通过C移 ...
分类:
其他好文 时间:
2018-08-20 22:49:07
阅读次数:
129
链接:http://poj.org/problem?id=1958 大意:汉诺塔升级版,四根柱子,n个盘子,求最少移动次数; 两种方法 递推or递归(当然还有思路3——打表) 思路1:递推(或者DP?) 把四塔转换为三塔进行思考 假设当前要移动n个盘子,那么就不如分为以下几步 先将上面的i个盘子移到 ...
分类:
其他好文 时间:
2018-08-20 21:49:44
阅读次数:
148
HDU 2089 不要62 数据量比较小,还是直接暴力吧。 HDU 1207 汉诺塔II 汉诺塔的变型,增加了一根柱子,直接上队里大神写的代码。 HDU 2680 Choose the best route 多个起点,一个终点,反向存图,跑一遍Dijkstra,比较得出最短路即可。 UVa Anan ...
分类:
其他好文 时间:
2018-08-20 19:00:14
阅读次数:
164
目录: 一、递归是“神马”? 二、写一个求阶乘的函数 三、课时22课后习题及答案 ********************* 一、递归是“神马”? ********************* 递归这个概念,是算法的范畴。那么递归算法在日常编程中有哪些例子呢? 图片一 汉诺塔游戏 图片二 树结构的定义 ...
分类:
其他好文 时间:
2018-08-15 12:02:16
阅读次数:
275
1 什么是数据结构和算法? 2 数据结构和算法的关系 3 学习数据结构和算法有什么好处? 4 java数据结构和算法的概览 ...
分类:
编程语言 时间:
2018-08-10 01:10:29
阅读次数:
151
题意:给定当前汉诺塔的状态,问还有多少步走完,走不完输出“No”。 思路:显然可以一层一层试探下去的。我们设三个柱子为“起始”,“中转”,“终点”,当前状态的最大的盘子不可能在中转站处;如果在起始站,我们需要把其他的移到中转站,然后把最大移到终点。如果在终点站,我们需要把其他的从中转站移到终点站。 ...
分类:
其他好文 时间:
2018-08-04 21:39:50
阅读次数:
124
汉诺塔II Problem Description 经典的汉诺塔问题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在 ...
分类:
其他好文 时间:
2018-08-02 20:45:43
阅读次数:
118