| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2153 人关注过本帖
标题:一道编程题,求指导
只看楼主 加入收藏
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
运行测试:
R:\>type inp2
5
2
3 4
10
5
2 3 4 4 5

R:\>type inp2|a
输入工资:输入书的种类:输入第 1 本书的价格:输入第 2 本书的价格:输入工资:输入书的
种类:输入第 1 本书的价格:输入第 2 本书的价格:输入第 3 本书的价格:输入第 4 本书的
价格:输入第 5 本书的价格:输入工资:
4
10

R:\>
2014-05-15 11:28
岑吼吼
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-5-10
收藏
得分:0 
回复 20 楼 top398
是对的,是不是因为运用递归,提交到测试系统的时候显示超时了
2014-05-15 11:45
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
超时是多长时间?实际运行是很快的,递归开销也就是两个变量压栈、CALL及RET,并不会消耗多少时间。

[ 本帖最后由 top398 于 2014-5-15 11:53 编辑 ]
2014-05-15 11:52
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
有可能是测试系统输入数据的方法不同,造成输入无法自动结束(没有 Ctrl+Z 或文件结束符)。
2014-05-15 11:55
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
深度优先搜索算法的核心思想依然是遍历,缺点在递归部分。

梦想拥有一台龙芯3A-4000
2014-05-15 11:58
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
我已经作了一点优化,有时可以减少递归次数。
2014-05-15 12:11
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
关于这部分的改进方法中也有采用非递归方式解决问题的,效果也不错。

梦想拥有一台龙芯3A-4000
2014-05-15 12:16
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
我觉得递归的表达方式比较简洁和自然,另外在这个例子中如果改成非递归,效率能提高多少?
2014-05-15 12:26
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
提高还是降低算法效率我不太确定,尤其是在特定的问题中,只是原来看过这方面的论文,有点印象,反正是有人做过这方面的事儿。

梦想拥有一台龙芯3A-4000
2014-05-15 12:32
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:0 
嗯,改非递归同样要考虑之前状态的保存。
其实我觉得只要递归开销(变量、调用返回)相比于整个递归函数的开销非常小,那还是比较划算的。
2014-05-15 12:45
快速回复:一道编程题,求指导
数据加载中...
 
   



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

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