A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wenbolwm 黑马帝   /  2012-3-16 13:43  /  2577 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问下递归原理是什么啊?所有东西都能用递归吗?在C#中有哪 些 应用的场景,感觉在C中很常用 。谢谢。

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

9 个回复

正序浏览
递归就是一种自己调用自己的算法,一般用在遍历的时候,但要有一个条件。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
李宗鹏 来自手机 中级黑马 2012-4-20 08:45:04
9#
你在设计一个递归过程时,必须至少测试一个可以终止此递归的条件!并且还必须对在合理的递归点用次数内为满足此条件!的情况下进行处理!如果没有一个在正常情况下可以满足的条件!则过程将陷入死循环
回复 使用道具 举报
递归算法一般用于解决三类问题:
  (1)数据的定义是按递归定义的。(Fibonacci函数)
  (2)问题解法按递归算法实现。(回溯)
  (3)数据的结构形式是按递归定义的。(树的遍历,图的搜索)

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
递归是基于栈的算法思想!
如果可以,任何地方都能用吧!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
递归就就是函数自己调用自己、再调用自己、一直调用自己周而复始的,直至触发退出条件,再一层层返回上层。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
在函数中调用函数自身,不断调用,直到满足函数得出计算结果(某个条件),因为其需要不断循环的调用自身,所以称为递归调用;
注意的它的条件,不然会造成死循环;

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
柏云杉 发表于 2012-3-16 15:11
请问下在方法中能用递归吗?

可以吧!
回复 使用道具 举报
韩迎龙 发表于 2012-3-16 14:17
递归就是一种算法,比如
int fun(int a)
{

请问下在方法中能用递归吗?
回复 使用道具 举报
递归就是一种算法,比如
int fun(int a)
{
    if(1 == a)
       return ;
    else
       return fun(a -1);
}
这就是递归,说白了就是自己调用自己,直到满足条件为止

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马