递归
文章平均质量分 55
ren_hui
每天早上醒来你荷包里的最大资产是24个小时你生命宇宙中尚未制造的材料
展开
-
hanoi
今天忽然想起汉诺塔的问题,先写一下程序,很经典点的递归调用,很值得回味。。 分析:当n大于等于2时, 移动的过程可分解为三个步骤:第一步 把A上的n-1个圆盘移到B上;第二步 把A上的一个圆盘移到C上;第三步 把B上的n-1个圆盘移到C上;其中第一步和第三步是类同的。 当n=3时,第一步和第三步又分解为类同的三步,即把n`-1个圆盘从一个针移到另一个针上,这里的n`=n-1。 代码如下:原创 2013-05-17 07:49:17 · 486 阅读 · 0 评论 -
递归排列生成器
用递归的方法,对n个数生成全排列 例如:(a,b,c)的全排列有(a,b,c)(a,c,b)(b,a,c)(b,c,a)(c,a,b)(c,b,a); 不难发现共有N!种结果; 如果是(a,b,c,d)则可以得到 1.a加上(b,c,d)的所有排列; 2.b加上(a,c,d)的所有排列; 3.c加上(a,b,d)的所有排列; 4.d加上(a,b,c)的所有排列; 递归实现全排列思路原创 2013-05-17 08:42:03 · 645 阅读 · 0 评论 -
霍纳法则
“对于多项式求值问题,我们最容易想到的算法是求出每一项的值然后把所求的值累加起来,这种算法的时间和空间效率都不高,对于数据规模不大的题目来说由于其直观、简单很容易被大家采纳,可一旦数据规模过大时,这种算法就显得无能为力了” 这个算是比较详细的霍纳法则概念了: 假设有n+2个实数a0,a1,…,an,和x的序列,要对多项式Pn(x)= anxn +an-1xn-1+…+a1x+a0求值,直接方法原创 2013-05-17 14:50:33 · 762 阅读 · 0 评论 -
布尔变量组合
给定n个布尔变量x1,x2,...xn,希望输出所有的布尔组合,例如,如果n=2,那么有4种可能,true,true;true,false;false,true;false,false; 编写一个c++程序,完成该任务; #include using namespace std; int a[1005]; void perm(int i,int x){ if(i==x){ cout<<原创 2013-05-18 11:56:22 · 816 阅读 · 0 评论 -
hdu 1007 Quoit Design
Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 22206 Accepted Submission(s): 5696 Problem Description Have you ev原创 2013-07-13 11:29:41 · 564 阅读 · 0 评论