思想:直接或者间接的调用自身来进行下一步计算。
一般的实现过程:通过函数或者子过程,直接或间接的调用函数或子过程,来进行计算。
要求:
每一次的循环调用,求解问题的规模必须要有所缩小。
相邻的两次循环调用,得有紧密的联系,通常,前一次的调用结果是后一次调用的输入。
必须有一个出口,即递归循环结束条件。
注意:递归调用的算法的运行效率通常比...
分类:
编程语言 时间:
2014-12-05 19:20:44
阅读次数:
189
什么是算法?通俗而言,算法是一个定义明确的计算过程,可以一些值或一组值作为输入并产生一些值或一组值作为输出。因此算法就是将输入转为输出的一系列计算步骤。—Thomas H. Cormen,Chales E. Leiserson,算法入门第三版简而言之,算法就是可完成特定任务的一系列步骤,它应该具备三...
分类:
编程语言 时间:
2014-12-03 14:02:07
阅读次数:
170
主要思想:
通过已知的条件(已知结果),利用特定的关系,逐步递推(顺推/逆推),直到有解或者无解。
主要分为两种:顺推,从已知条件出发,直至推出解。
逆推,从已知结果出发,直至推出解。
需要注意的:每一递推结果,都是下一步递推的条件。
顺推:
斐波那契数列 F0=0,F1=1,Fn=F(...
分类:
编程语言 时间:
2014-11-29 16:06:05
阅读次数:
161
floor(x)返回x的整数部分一般用法为floor(x + 0.5)sprintf 意思是输出到字符串 fprintf是输出到文件,printf("%d",clock()/CLOCKS_PER_SEC)输出程序运行的时间;isdigit(x)判断x是否为整数;assert.t assert(x.....
分类:
编程语言 时间:
2014-11-24 23:57:19
阅读次数:
323
你是否在做一款游戏的时候想创造一些怪兽或者游戏主角,让它们移动到特定的位置,避开墙壁和障碍物呢?如果是的话,请看这篇教程,我们会展示如何使用A星寻路算法来实现它!在网上已经有很多篇关于A星寻路算法的文章,但是大部分都是提供给已经了解基本原理的高级开发者的。本篇教程将从最基本的原理讲起。我们会一步步讲解A星寻路算法,幷配有很多图解和例子。不管你使用的是什么编程语言或者操作平台,你会发现本篇教程很有帮...
分类:
编程语言 时间:
2014-11-22 18:56:50
阅读次数:
258
三角函数计算,Cordic 算法入门
三角函数的计算是个复杂的主题,有计算机之前,人们通常通过查找三角函数表来计算任意角度的三角函数的值。这种表格在人们刚刚产生三角函数的概念的时候就已经有了,它们通常是通过从已知值(比如sin(π/2)=1)开始并重复应用半角和和差公式而生成。
现在有了计算机,三角函数表便推出了历史的舞台。但是像我这样的喜欢刨根问底的人,不禁要问计算机...
分类:
编程语言 时间:
2014-11-16 20:09:07
阅读次数:
331
现在开始学习CORDIC算法学习的博文:(1)http://blog.csdn.net/liyuanbhu/article/details/8458769三角函数计算,Cordic算法入门(1)很好的解释了cordic算法的思想。坐标旋转公式。推导http://www.cnblogs.com/ywx...
分类:
编程语言 时间:
2014-11-16 17:18:07
阅读次数:
279
习题7-1,UVa208,Time:11.6#include #include #include using namespace std;vectormap[10005];int vis[1005];int dfs(int s, int t, int n, int tmp[]){ if(s == t...
分类:
编程语言 时间:
2014-11-06 21:39:05
阅读次数:
199