黑马程序员技术交流社区

标题: c# 中的递归 [打印本页]

作者: wenbolwm    时间: 2012-3-16 13:43
标题: c# 中的递归
请问下递归原理是什么啊?所有东西都能用递归吗?在C#中有哪 些 应用的场景,感觉在C中很常用 。谢谢。
作者: 韩迎龙    时间: 2012-3-16 14:17
递归就是一种算法,比如
int fun(int a)
{
    if(1 == a)
       return ;
    else
       return fun(a -1);
}
这就是递归,说白了就是自己调用自己,直到满足条件为止
作者: 柏云杉    时间: 2012-3-16 15:11
韩迎龙 发表于 2012-3-16 14:17
递归就是一种算法,比如
int fun(int a)
{

请问下在方法中能用递归吗?
作者: 韩迎龙    时间: 2012-3-16 15:49
柏云杉 发表于 2012-3-16 15:11
请问下在方法中能用递归吗?

可以吧!
作者: 孙秋生    时间: 2012-3-16 16:38
在函数中调用函数自身,不断调用,直到满足函数得出计算结果(某个条件),因为其需要不断循环的调用自身,所以称为递归调用;
注意的它的条件,不然会造成死循环;
作者: 陈东    时间: 2012-3-16 17:23
递归就就是函数自己调用自己、再调用自己、一直调用自己周而复始的,直至触发退出条件,再一层层返回上层。
作者: 刘亚中    时间: 2012-3-16 20:42
递归是基于栈的算法思想!
如果可以,任何地方都能用吧!
作者: 李宗鹏    时间: 2012-4-19 23:19
递归算法一般用于解决三类问题:
  (1)数据的定义是按递归定义的。(Fibonacci函数)
  (2)问题解法按递归算法实现。(回溯)
  (3)数据的结构形式是按递归定义的。(树的遍历,图的搜索)
作者: 李宗鹏    时间: 2012-4-20 08:45
你在设计一个递归过程时,必须至少测试一个可以终止此递归的条件!并且还必须对在合理的递归点用次数内为满足此条件!的情况下进行处理!如果没有一个在正常情况下可以满足的条件!则过程将陷入死循环
作者: 过客    时间: 2012-4-20 13:36
递归就是一种自己调用自己的算法,一般用在遍历的时候,但要有一个条件。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2