分享
 
 
 

让我们重视程序运行效率

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

让我们重视程序运行效率

起初,程序运行效率一直是学习计算机的人们关心的话题。但是随着硬件的飞速发展,“运行效率”这个概念已经在校园和初学者之中淡化,只有在设计商业软件开发和程序设计竞赛时才能看见它的身影。这是我们目前的状况,也是值得大家思考的问题。

有必要改进程序的运行效率吗?

随着计算机硬件的发展,微机的速度越来越快(奔腾4处理器的主频已经上了3G,同步缓存等技术已经得到应用),运行软件的能力也越来越强,似乎程序的运行效率已经不在成为我们关注的焦点。的确,在学校的课堂上,老师几乎没讲过这方面的内容,同学对此也是一知半解;很多编程书籍也对此不闻不问。难道效率真的不重要了?其实,效率是很重要的,要不然就没有工作效率之说了。初学者认为不重要,那是因为写不出更高效的程序;即使能写出来,也会因为程序太小,而感觉不出执行上的差别。而在一些嵌入式系统中,程序的运行效率显得格外重要;小段代码的效率,直接影响到了大型软件的运行速度。所以说,我们很有必要去改进自己的程序,让它能够更快更好的运行。

日常的速算法完全有效吗?

人们日常用的速算法,对计算机来说并不是完全有效的。举个例子:大家都知道从1加到100怎么算:可以1+2+3+…….+100算出5050;也可以用简便的算法:(0+100)+(1+99)+(2+98)+……得到结果也是5050。显然第二种方法更适合人们计算,它的效率比顺序相加快得多,甚至口算就能迅速得到答案。但对于计算机来说,第二种方法并不比第一种快,如果程序编制不当,反而会降低计算速度。所以建议大家,对于一般的数值计算不必考虑用什么速算法,请相信CPU中运算器的能力。

程序算法是关键

(1)选择适当算法

要想提高程序运行效率,改进算法是最关键的。算法是影响程序运行效率的主要因素,在编写不同程序时要选择适当的算法。比如同样是查找算法,在处理不同数据时,效率是不同的,这是就要从中选择一个最好的。还比如,同一问题中可以用栈也可以用队列,这时就要考虑用哪个更好,还要考虑用顺序结构还是链式结构。总之,选择适当的算法是提高运行效率的关键。

(2)善于改进算法

大家一定都学过“冒泡排序”算法,也都会用。不知道有多少人改进过这种“古老”的算法。其实想法很简单,设一个标志位用来表示已经排过序的序列,当下一次比较时跳过这段,就能大大提高排序效率。这只是一个很简单的例子,目的是鼓励大家多多改进已有的算法,多些一些好的算法出来,这是很必要的,因为有时系统提供的语句是用不成的。就拿查询数据库来说,最简单的就是用select语句。其实这个语句是很有必要改进的,如果在大型数据库中直接这样写:Select xxx FROM xxx WHILE xxx ,可想而知它的效率有多么低下。所以说,我们要善于改进已有的算法。

(3)一个想法

这是我在改进程序运行效率的一个想法――多运算,少存储器操作。因为运算是由CPU中的运算器完成的,操作则是要到内存中,甚至外存中进行。两者相差几个数量级,执行速率当然不一样(虽然看不出来,实际是有区别的)。所以在编程过程中,能直接计算的就直接算,不要把数据移来移去的。

(4)小小的建议

要写出高效的算法,对基本的数据结构一定要理解,对基本的算法一定要熟练掌握。所以建议大家一定要学好数据结构,在不断的实践中提高算法的编制能力,这样你的程序才能更好的高效运行。这里还建议大家看看每期《程序员》的“编程擂台”,那里的程序都是讲效率的。

我写这篇文章的目的不是为了说明什么样的算法效率高,该用什么算法编制程序。而是发动大家一起来关心这个快被时代冷落的话题,让我们重视程序运行效率,把编程进行到底。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有