汉诺塔的由来:汉诺塔是源自印度神话里的玩具。上帝创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上安大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。有预言说,这件事完成时宇宙会在一瞬...
分类:
其他好文 时间:
2014-08-18 10:28:43
阅读次数:
171
递归就是直接或间接调用自身。算法思想:原问题可分解子问题(必要条件),原与分解后的子问题相似(递归方程),分解次数有限(子问题有穷),最终问题可直接解决(递归边界),经典问题有:幂运算、阶乘、组合数、斐波那契数列、汉诺塔等。这里详细介绍:
快速幂的实现;
斐波那契数列的矩阵加速实现;...
分类:
其他好文 时间:
2014-08-17 21:26:22
阅读次数:
397
前不久拿到一套九连环,在解开过程中发现就是一个不断递归的过程,而经过抽象后,发现九连环可以理解成简化的横置版汉诺塔。递归的计算,计算机可是比人快多了,那么计算机怎么实现?这段小代码不仅限于九连环,所以自称类九连环。代码如下。#include using namespace std;void Loop...
分类:
其他好文 时间:
2014-08-14 13:42:48
阅读次数:
210
题目链接:点击打开链接
我们用dp[i]表示 随机i个盘子时,恢复原位需要的步数的期望
f[i]表示i个盘子下普通的汉诺塔玩法的步数
既然是随机,那么我们就认为是在上一次随机的情况下,
把第n个放到任意一根柱子的底部
那么若随机放到了第3个柱子,则步数就是dp[n-1]
若放到了第1根柱子,则先把前面的n-1个盘子移动到第2根柱子上,花费是dp[n-1]
然后再把n盘子移动到...
分类:
其他好文 时间:
2014-08-14 01:32:17
阅读次数:
171
分治算法,有很多典型的问题,如最近点问题、线性选择问题、整数划分问题、大整数成绩问题、棋盘覆盖问题、循环赛日程表、二分搜索、Strassen矩阵乘法、汉诺塔等。准备花些时间逐个解决这些问题,并用Java实现,从最近点问题开始。网上找到一些代码,标题如“java 用蛮力法和分治法求解最近对有关问题”,虽然体现了分治,但划分不够彻底,因此我重新对其进行了实现。
一、基本思想及策略:...
分类:
编程语言 时间:
2014-08-12 22:10:54
阅读次数:
233
汉诺塔问题:P141用两个stack设计一个队列 p142 结合上题,队列实现max操作,要求尽量提高效率。(编程之美)找出二叉树中指定节点的下一个节点(中序后继),假定每个节点有父指针。p154二叉树某两个节点的公共祖先。p155判断T2是否是T1的子树。p159打印二叉树节点数值总和等于某个给....
分类:
其他好文 时间:
2014-08-12 00:13:23
阅读次数:
346
HighLight: 1. 函数定义 2. 函数返回值 3. 函数参数 4. 数组做参数传递 5. const 形式参数 6. 递归和汉诺塔1. 函数定义和声明 ---- 定义 返回值的数据类型 函数名 (参数列表) ---- 声明 隐士声明 int ...
分类:
其他好文 时间:
2014-08-11 14:53:32
阅读次数:
304
汉诺塔问题求解
问题描述:A,B,C三个柱子,其中A插着n个盘子从上到下按照小到大放,尝试以B盘子为中介,每次移一次,将A中的盘子从上到下按照小到大插;
算法:n个盘子全放在A上面,分为两步走:将前面(n-1)个盘子全部放到B上面,然后将第n个盘子放到C中;
这样子B中就有(n-1)个盘子,再以A为中介,...
分类:
其他好文 时间:
2014-08-07 23:09:45
阅读次数:
237
C语言学习宝典(4)指针:可以有效的表示复杂的数据结构,能动态的分配动态空间,方便的使用字符串,有效的使用数组,能直接处理内存单元不掌握指针就没有掌握C语言的精华地址:系统为每一个变量分配一个内存单元,内存区的每一个字节有一个编号,这就是“地址”指针的定义; 基类型 * 指针变量名例如 int *p...
分类:
其他好文 时间:
2014-08-05 00:10:58
阅读次数:
279
汉诺塔II
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 4799 Accepted Submission(s): 2362
Problem Description
经典的汉诺塔问题经常作为一个递归的经典例...
分类:
其他好文 时间:
2014-07-27 11:15:52
阅读次数:
209