社区
C#
帖子详情
递归算法的原理是什么?
qingyihekan
2010-05-11 02:19:30
谁能跟我讲讲递归算法的原理啊?
...全文
17475
29
打赏
收藏
递归算法的原理是什么?
谁能跟我讲讲递归算法的原理啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
29 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaotangnobody
2011-09-20
打赏
举报
回复
刚才回复的帖子怎么不见了....
fanbingyuan
2011-03-07
打赏
举报
回复
就是自己调用自己
zhengxiaoliu
2011-03-07
打赏
举报
回复
从前有座山,山里有个庙,庙里有个老和尚正在讲故事...(重复ing)
实在太好理解了
PitTroll
2010-11-30
打赏
举报
回复
递归和迭代,一个是从无到有推算,一个是从有到无推算。
Microblue
2010-11-30
打赏
举报
回复
递归的执行原理和堆栈的原理是类似的,堆栈是后进先出,递归是从后面执行回来的~~~~供参考~~~
niesen111
2010-11-30
打赏
举报
回复
函数自己调用自己
BinaryTreeEx
2010-05-12
打赏
举报
回复
再补充一个:
递归分为2种,直接递归和间接递归。
直接递归,比如方法A内部调用方法A自身
间接递归,比如方法A内部调用方法B,方法B内部调用方法C,方法C内部调用方法A
xiangzideai
2010-05-12
打赏
举报
回复
方法循环调用自身
myhope88
2010-05-12
打赏
举报
回复
大家都说了,没什么好说的了,路过
gxingmin
2010-05-12
打赏
举报
回复
递归处理代码简洁外,还有个好处,就是你在循环前,不知道循环的层次是多少时,用递归比较方便,譬如遍历树、遍历磁盘文件等,在循环前,你根本不知道磁盘有多少个文件夹和文件,调用递归无需事先知道这些,只要找到最后文件夹时返回就可以了。
但是递归也有缺点,前面也有同志说了,就是消耗栈资源太多了。
dyks90
2010-05-12
打赏
举报
回复
从前有座山,山里有个庙,庙里有个老和尚正在讲故事...(重复ing)
实在太好理解了
加油馒头
2010-05-12
打赏
举报
回复
一般不太用
递归的好处就是代码简洁,直观
weike021996
2010-05-11
打赏
举报
回复
mark!
ProjectDD
2010-05-11
打赏
举报
回复
递归和循环是等价的
它也没什么特别的原理,就是方法调用 ,方法调用 就是在压栈,只是它特殊中方法自己调用 自己,其实和调用 其它方法完全 一样,递归中值得注意的是它的弹出 条件,要不可能选成死循环.
spmzfz
2010-05-11
打赏
举报
回复
一个例子:
http://topic.csdn.net/u/20100413/18/cca832db-6007-4049-9f75-30009e8f6b44.html?18812
ztenv
2010-05-11
打赏
举报
回复
函数被调用还未结时再调用函数,则会保存当前状态,入栈,依次类推,当最后一个函数执行完后,倒数第二个函数出栈,再也倒数第一个函数的结果进行计算,依次类推;
并且:函数是被放在程序区的,函数调用实际上就是取得函数在内存中的地址,执行内存中的机器码;
KissXYL
2010-05-11
打赏
举报
回复
有道理。
vrhero
2010-05-11
打赏
举报
回复
[Quote=引用 10 楼 kissxyl 的回复:]
说的没错。那怎么还需要用递归呢?其实很多时候不用递归也能实现,
[/Quote]
递归的优点是结构简单清晰,某些回溯算法或遍历树算法用非递归方法结构很复杂...这时如果代价不太大用递归算法则可大大减少复杂度和工作量...
凡事不走极端就好了...
KissXYL
2010-05-11
打赏
举报
回复
[Quote=引用 6 楼 vrhero 的回复:]
从前有座山,山里有个庙,庙里有个老和尚正在讲故事:从前有座山,山里有个庙,庙里有个老和尚正在讲故事:
从前有座山,山里有个庙,庙里有个老和尚正在讲故事...
这就是递归原理...递归算法得有递归出口,否则就会死循环...递归算法效率较低,占用栈空间较大,容易发生栈溢出...
[/Quote]
说的没错。那怎么还需要用递归呢?其实很多时候不用递归也能实现,
libaozhen1208
2010-05-11
打赏
举报
回复
就是自己调用自己
加载更多回复(8)
递归入门、递归遍历、递归穷举算法
本课程带你从
递归算法
基础入手,课程是精讲大量实际项目中常用到的案例,课程深入浅出,包括递归入门,递归遍历、弟归穷举算法及各种项目,适合算法爱好者一起学习,后附每堂课项目源码,感兴趣可以观注博客,不定期更新
递归算法
这样介绍,想不通过面试都难
递归算法
是指在函数或过程的定义中使用自身的方法。在递归过程中,一个问题被分解为一个或多个相同或类似的子问题,并且这些子问题会被递归地求解,直到达到最基本的子问题,再利用已知的结果合并解决整个问题。递归的定义是指在函数或过程的定义中使用自身的方法。递归的实现方式是在函数或过程内部调用自身。
递归算法
(图文详解)
递归算法
说简单点即就是自身程序的调用,若你掌握递归相应逻辑,递归之时你便可以起飞!!!
递归算法
原理
及应用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、
递归算法
原理
二、
递归算法
应用 1.利用递归求阶乘 2.利用递归求斐波那契数列的第N项的值 前言 提示:这里可以添加本文要记录的大概内容: 本文的目的是理解
递归算法
的
原理
,以及掌握简单的应用场景。 一、
递归算法
的
原理
一个大问题可以分解成几个小问题,其中有的小问题可以直接实现,另一部分小问题与大问题的实现方式相同,从而进入循环,递归到最后会有一个直接实现方式,即递归出口。 二、递归.
递归算法
原理
详解及Python实现
文章目录摘要一、
递归算法
原理
1、先举一个例子说明一下递归的作用2、
递归算法
的思想3、为什么递归难理解4、递归的应用场景二、几个典型问题的python实现1、计算阶乘2、汉诺塔问题3、斐波拉切数列问题 摘要 对新手而言,递归及其衍生的动态规划可以说是最难理解的几个算法。在看别人的代码的时候又会发现别人几行代码就用递归解决了一个难题,但让自己写却死活写不出来。 为什么会有这种反差呢?经过长时间的递归学...
C#
110,476
社区成员
642,563
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章