- 积分
- 1284
- 注册时间
- 2014-12-29
- 最后登录
- 2016-11-14
- 在线时间
- 17 小时
- 威望
- 11
- 贡献
- 0
- 金币
- 359
- 钢镚
- 20
- 交易凭证
- 0
- 分享
- 0
- 精华
- 0
- 帖子
- 19
- 主题
- 18
TA的每日心情 | 慵懒 2015-4-16 10:25 |
---|
签到天数: 8 天 [LV.3]偶尔看看II
版主
- 威望
- 11
- 贡献
- 0
- 金币
- 359
- 钢镚
- 20
|
递归算法也是一种常用的算法思想,使用该算法有时可有效的解决一些问题,往往可以简化代码的编写,提高程序的可读性,但若有不合适的递归反而会导致程序的执行效率变低。
所谓递归算法,就是在程序里不断反复调用自身来求解问题的方法,这里强调的重点是调用自身,就得要等待求解的问题能够分解为相同问题的一个子问题,这样通过多次递归调用,便可完成求解。
递归算发的具体实现过程一般通过函数来完成,在函数的内部,编写代码直接或者间接的调用函数自己,即可完成递归操作。
理解递归算法的最简单例子就是:编写程序求n的阶乘。
- // 编程算法之递归阶乘.cpp : 定义控制台应用程序的入口点。
- //
-
- #include "stdafx.h"
-
- int fact(int i)
- {
- if (i<=1)
- {
- return 1;
- }
- else
- {
- return i*fact(i-1);
- }
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- printf("%d",fact(4));
- return 0;
- }
复制代码 http://blog.csdn.net/yaoyuan0701/article/details/45066635
|
|