社区
数据结构与算法
帖子详情
递归算法以及模拟递归真令人头痛啊高手指点一下
jy02745307
2011-08-13 03:32:59
最近在递归问题上花了不少时间,似懂非懂的。好郁闷啊。编程时候基本可以用递归算法。至于运行的顺序也貌似理解了。但是又好像不理解好头痛啊。关于用栈模拟递归算法。看书上介绍递归算法运行时栈貌似也明白,可是一看到用代码模拟递归头就大。似懂非懂的。头脑好混乱了。
那位高手指点一下。特别是可以介绍一下你们以前学习的有关方面的经验,或是你们以前学习过程中有哪些难关是怎么跨越的。详细点啊谢谢
...全文
350
15
打赏
收藏
递归算法以及模拟递归真令人头痛啊高手指点一下
最近在递归问题上花了不少时间,似懂非懂的。好郁闷啊。编程时候基本可以用递归算法。至于运行的顺序也貌似理解了。但是又好像不理解好头痛啊。关于用栈模拟递归算法。看书上介绍递归算法运行时栈貌似也明白,可是一看到用代码模拟递归头就大。似懂非懂的。头脑好混乱了。 那位高手指点一下。特别是可以介绍一下你们以前学习的有关方面的经验,或是你们以前学习过程中有哪些难关是怎么跨越的。详细点啊谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
work_sunzh
2011-10-06
打赏
举报
回复
递归感觉主要基于两点:
1.找到递归结束的条件
2.将动态改变的值,再传给本方法进行下一次调用。
我认为不管怎么使用,最后你对递归的理解就是这两句话。
Smile_Tiger
2011-08-23
打赏
举报
回复
实际应用上,我就遍历目录里面的文件时用了递归。
OO_is_just_P
2011-08-21
打赏
举报
回复
去看看Erlang吧,基本全是递归。
stand_by
2011-08-19
打赏
举报
回复
bucuo
langga跳跃
2011-08-18
打赏
举报
回复
我说说我的理解:递归包括两个过程:递推和返回!
递推也就函数自调用一直往里层调用,最外层的函数对应一个堆栈,每递推调用一次,可以理解为把当前的调用点位置保存在堆栈中,然后层层一直调用,知道条件满足到不能递推为止,返回也就是最后调用的那个最里层函数返回,堆栈保存该函数的调用点地址内存清空,可以理解为返回就是把堆栈中值先进出,最后结果把堆栈内存回收。
zhangyilina1987
2011-08-18
打赏
举报
回复
我也有同感啊,不是很理解
justlovetao
2011-08-15
打赏
举报
回复
递归,恩,我一年前也是你现在的状态。高了一年的ACM,逼得自己弄题目。
虽然递归很费时间,但是一旦学会了也是蛮好用的。而且,学习的过程能够锻炼学习的能力。
我给我的建议吧:感觉自己不够聪明,所以笨鸟先飞吧。可以说有一个月饿每天日思夜想的弄递归,想它的流程。不要认为能看懂递归函数就行了,这和自己学出来的完全是两码事。所以只有不停地啃递归的过程,再在关闭数的情况下实现每一个递归题目,然后再是去左递归的题目。大概半个月就有明显感觉。熟练运用还得加强练习。
不过我认为递归应用的范围确实有限,所以我只推荐把递归当做很好的锻炼自学能力的一种方式
phoenix_share
2011-08-13
打赏
举报
回复
比如做一件事情有N个相同的步骤,只是参数不是完全一样,首先为了得到这个最终结果,我知道最后一步(第N步)怎么做,但是就差一个条件,那就是第N-1步的结果.那么我就把这个N-1步这个结果用个符号表示.去设计好做第N步这个函数.最后把那个符号替换成你设计的这个函数自调用就OK了.值得注意的就是你设计的这个函数一定要有结束条件以及递归参数的变化.
stein42
2011-08-13
打赏
举报
回复
递归和迭代是等价的,
LucEaspe
2011-08-13
打赏
举报
回复
递归:浪费堆栈,数据大易出问题
迭代:用 空间 换取 时间
szjarvis
2011-08-13
打赏
举报
回复
跟楼主一样的糟遇.
Jokul_Lee
2011-08-13
打赏
举报
回复
感觉递归用在特殊的算法里效果还比较好,平常都是用迭代,单递归的感觉和while()有点像
绿色夹克衫
2011-08-13
打赏
举报
回复
多用就好了,做一些备忘录方式的搜索题,很快就能掌握。
jy02745307
2011-08-13
打赏
举报
回复
就识学习而已现在先不研究递归算法好不好我是想知道怎么去完全弄懂他
cnmhx
2011-08-13
打赏
举报
回复
递归一定要尽量避免。因为实际情形是——经常花费更多的计算时间。
递归
入门、
递归
遍历、
递归
穷举算法
本课程带你从
递归
算法
基础入手,课程是精讲大量实际项目中常用到的案例,课程深入浅出,包括
递归
入门,
递归
遍历、弟归穷举算法及各种项目,适合算法爱好者一起学习,后附每堂课项目源码,感兴趣可以观注博客,不定期...
算法设计与分析
课程内容包括:算法设计和分析的基本概念、算法的渐进分析、
递归
方程的求解、各自算法设计策略(如蛮力法/穷举法、状态空间搜索、回溯和分支限界、分治
递归
、贪心法、动态规划等),对每种算法设计方法都选取了典型...
图解Java数据结构和算法
4)系统全面的讲解了数据结构和算法, 除常用数据结构和算法外,还包括程序员常用10大算法:二分查找算法(非
递归
)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、...
内功修炼之数据结构与算法
多路查找树(B树B+树和B*树)、图、图的DFS算法和BFS、程序员常用10大算法、二分查找算法(非
递归
)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、 克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法马踏棋盘...
java数据结构算法
做一门精致,全面详细的 java数据结构与算法!!! 让天下没有难学的数据结构, 让天下没有难学的算法, 不吹不黑,我们的讲师及其敬业,可以看到课程视频,课件,代码的录制撰写,都是在深夜,如此用心,其心可鉴,他不掉头发,谁...
数据结构与算法
33,006
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章