https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1736 http://7xjob4.com1.z0.glb.clouddn.com/c2dd6437bf7 ...
分类:
其他好文 时间:
2016-07-05 20:38:07
阅读次数:
339
哔哔几句 实在是复习不下去了,开始老本行。。 递归 直到最简情况 从最简情况开始分析,其他情况逐次分层递归到最简,算法要一直(若对每层有计次处理要有规律 汉诺塔 通俗版本:http://www.360doc.com/content/12/0727/11/219024_226737868.shtml ...
分类:
其他好文 时间:
2016-07-03 10:23:58
阅读次数:
207
所谓算法,就是隐匿在数据结构后背后的原理,在开发中好的算法可以降低时间复杂度提升可复用性。《算法之美——隐匿在数据结构背后的原理(C++版)》一书围绕算法与数据结构这个话题,用汉诺塔问题和八皇后问题等22个经典算法问题循序渐进、深入浅出地介绍了现代计算机技术中常..
分类:
编程语言 时间:
2016-06-24 13:08:15
阅读次数:
260
#include<stdio.h>
voidmain()
{
externa;
externb;
externc;
externs;
voidhanno(int,char,char,char);
voidsetNum(int);
intn;
printf("Pleaseinputthenumberofdishes:");
scanf("%d",&n);
printf("Thefollowingismoving%ddishes...\n(%2d00)\n",n,n);
setNum(n);
..
分类:
编程语言 时间:
2016-06-20 19:07:19
阅读次数:
213
首先说下动态规划,动态规划这东西就和递归一样,只能找局部关系,若想全部列出来,是很难的,比如汉诺塔。你可以说先把除最后一层的其他所有层都移动到2,再把最后一层移动到3,最后再把其余的从2移动到3,这是一个直观的关系,但是想列举出来是很难的,也许当层数n=3时还可以模拟下,再大一些就不可能了,所以,诸 ...
分类:
其他好文 时间:
2016-06-15 14:06:16
阅读次数:
207
有ABC三个座,将A上的n个盘子移动到C上,要保证大的盘子始终在下面,而且一次只能移动一个盘子,可以借助B,输出移动步骤。 #include<iostream>using namespace std;void Hanoi(int n,char a,char b,char c){ if(n==1) c ...
分类:
编程语言 时间:
2016-06-11 10:35:23
阅读次数:
217
还记得上一节提到的数塔问题么?我们接下来一起解决它吧。 9 12 15 10 6 8 2 18 9 519 7 10 4 15上面这张图是一个数塔问题的例子。每次从顶部元素,就是上图中的9出发,每次可以走到下面相邻的两个节点,比如从9往下相邻的是12和15,6往下相邻的是18和9。找到一条从顶部到底 ...
分类:
其他好文 时间:
2016-06-10 10:57:20
阅读次数:
148
一.简介 汉诺塔问题是递归的一个典型例子,而且书上的讲解很详细,对理解C语言函数及函数传参的工作机制很有帮助,值得一看。而且,递归在我看来和分治、DP、贪心等一样是十分优美的思想,值得学习!!! 二.CPP文件 1 //3_3.cpp 2 /** 3 author:zhaoyu 4 email:zh ...
分类:
编程语言 时间:
2016-06-08 23:08:14
阅读次数:
475
汉诺塔问题,大一学数据结构的时候就接触了。 今天遇到一个作业,作业要求给定了递归函数的定义: 要实现这个方法,src表示from塔,aux表示辅助塔,dst表示目标塔,三个参数都很熟悉。可是还是少了一个参数哎,int disk参数没给啊? 网上很多算法包括自己学的数据结构书上的这个递归函数都是4个参 ...
分类:
其他好文 时间:
2016-06-08 15:22:36
阅读次数:
312