| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1528 人关注过本帖
标题:谁的效率高?
只看楼主 加入收藏
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
这种没头没脑的帖子回他作甚?
一无题目,二无注解。代码又不完整:
那块石头stone[]从哪冒出来的?
估计是穆杨先生讨厌的全局数组。

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-19 22:54
songweiwen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-2-19
收藏
得分:0 
实在不好意思!
一来题目很老了,有人讨厌我再提.
二来没必要看完全部代码.
三来我觉得我已将问题写清楚了,也许你不这样认为,你问一下不行吗!


stone[]确实是全局变量.

没改动前,程序将会执行pow(2,count)次函数Calculate(int count,int sum);
改动后只执行pow(2,count-1)次,少了一半;
但是,你看,我又增加了超过pow(2,count-1)次abs()函数的调用.
请问我这样改动能提高程序的执行效率吗???
为什么????


Finding!!!
2006-06-19 23:02
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-19 23:12
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

能提高.最好abs改成问号表达式
如果有递归的话尽量用循环代替.


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-19 23:13
songweiwen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-2-19
收藏
得分:0 
a=sum<0?-sum:sum ????
谢谢!!

Finding!!!
2006-06-19 23:32
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

硬件现在的价格已经不像以前~ 所以不必过分追求效率

应该如13楼所讲 追求正确性,良好的可读性,然后才是效率


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-06-19 23:43
songweiwen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-2-19
收藏
得分:0 
以下是引用feng1256在2006-6-19 23:43:45的发言:

硬件现在的价格已经不像以前~ 所以不必过分追求效率

应该如13楼所讲 追求正确性,良好的可读性,然后才是效率

能说说怎样的程序具有"良好的可读性"吗?
或说要注意什么规范化的东西,能使程序更可读.
注释?
应该是"在什么地方下注释"更重要点吧!那一般是在什么地方下注释才必要呢??


Finding!!!
2006-06-19 23:54
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
以下是引用songweiwen在2006-6-19 23:54:50的发言:

能说说怎样的程序具有"良好的可读性"吗?
或说要注意什么规范化的东西,能使程序更可读.
注释?
应该是"在什么地方下注释"更重要点吧!那一般是在什么地方下注释才必要呢??

没见过很正规的规则,一般可以让别人很清晰看懂你的程序,那就可以了!
你可以找写关于代码风格建议等方面的文章看看,当然有些地方存有争议

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-06-20 00:03
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
以下是引用穆扬在2006-6-19 23:12:16的发言:

程序首先要求正确性
其次是可读性
效率问题是比较次要的问题


还有我认为在一般的非多个文件构成的c程序中
使用全局变量与使用goto一样难看

经典啊,字字珠玑。
绕开函数的参数传递机制,
通过全局变量“暗渡陈仓”
酷似西医手术后的造瘘(排泄绕开肛门!)
实在丑陋无比呀。


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-20 05:12
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 

『数据结构与算法』告诉我们:
高效率的第一要素是算法设计

楼主不妨公布那道程序设计的题目,
比你高效N倍的程序定会跃然纸上。

往日无冤,近日无仇。俺–★–
为什么要“贬”楼主呢?因为
楼主的两版程序一个都没调通
证据:
1。如果都调通,效率高低立见分晓,何需问人?
2。新版不通。因为至少存在下列语法错误:
else if(min_sum == abs(sum);) //多了分号
{
if(me_total < 15) me[me_total]=sum_no;
me_total++;
}
3。老版不通。因为至少存在下列运行故障:
void Calculate(int count,int sum)
{ char i;
for(i=0;i<2;i++)
{ sum=sum+Sign(i)*stone[count];
if(count > 0)
Calculate(count-1,sum);
根据C的传值机制,红色累加的结果
无法通过目前的sum形参反馈回来。
4。新版程序的全局变量之多令人咋舌,
这就为调试埋伏下不少隐患。
===========================================
当然楼主下列自以为是的话语(floor 12)

实在不好意思!
一来题目很老了,有人讨厌我再提.
二来没必要看完全部代码.
三来我觉得我已将问题写清楚了,也许你不这样认为,你问一下不行吗!

出自一个求助者也令人厌恶。


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-20 06:12
快速回复:谁的效率高?
数据加载中...
 
   



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

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