| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 480 人关注过本帖
标题:关于递归的效率
只看楼主 加入收藏
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
结帖率:91.67%
收藏
已结贴  问题点数:20 回复次数:8 
关于递归的效率
有时候用递归写程序遇到特别大的数时候,结果往往出现很慢,是否是由于递归本身对于大数效率不高呢?
2014-10-07 20:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
学递归算法的时候,教你的“老师”没讲递归的机制?不要总是学代码,拿来就用,连它怎么运作的、用于什么场合、何时该用何时不该用等都不清楚,那怎么行。

[ 本帖最后由 TonyDeng 于 2014-10-7 20:06 编辑 ]

授人以渔,不授人以鱼。
2014-10-07 20:04
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
收藏
得分:0 
回复 2 楼 TonyDeng
我记得最清楚的是老师说,递归可以很容易的解决一些复杂的问题。。。比如,梵塔类的
2014-10-07 20:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
递归的运行效率是最低的、资源占用也是最高的,你老师没跟你讲。

授人以渔,不授人以鱼。
2014-10-07 20:21
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
收藏
得分:0 
自己重新翻书了,自己看书不细心:
递归:效率低,会多次的函数调用,如果层次深,还会增加堆栈的处理,但优点是,代码清晰简单;
2014-10-07 20:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用soulmate1023在2014-10-7 20:22:59的发言:

自己重新翻书了,自己看书不细心:
递归:效率低,会多次的函数调用,如果层次深,还会增加堆栈的处理,但优点是,代码清晰简单;

对,递归只适用于能够清晰表达逻辑的场合,即如果用它表达比别的非递归表达更自然,就可以用,但要考虑极端情况。通常,能够避免递归,都不用递归,诸如求菲波拉契数这样的算法,尤其不适宜拿递归来作示范——这是教科书中最不可取的做法,可惜无论中外都有不少教科书这样做。

授人以渔,不授人以鱼。
2014-10-07 20:27
Rick_gu
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:37
专家分:108
注 册:2014-5-29
收藏
得分:7 
递归能不用就不用!
2014-10-08 16:29
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
收藏
得分:0 
回复 6 楼 TonyDeng
恩,知道了,谢啦
2014-10-08 21:03
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:7 
回复 7 楼 Rick_gu
也不能一棍子打死吧……

梦想拥有一台龙芯3A-4000
2014-10-08 23:52
快速回复:关于递归的效率
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027527 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved