为初学者答效率的问题
来源:互联网 发布:java zip文件加密 编辑:程序博客网 时间:2024/05/17 00:05
本文来自读者对我博文的评论。遇到主动思考者,提出的主动思考过的问题,老贺是相当的兴奋。
完整的对话见《C语言及程序设计实践参考——n=a!+b!+c!》中二楼评论。
【问题】
老师,我尝试着%¥#&……%……,但程序变得更多了,这样还会提高效率吗?
【答复】
很高兴你能问出这样的问题,这种主动思考,在我的实体课学生中真也不多。这牵涉到我们对于效率的多维认识。
多数情况下,效率指计算机的效率,要分时间效率(用时尽可能少)和空间效率(运行中少占用内存空间)。而注重时间效率的居多。于是,源代码的行数多少,并不是决定时间效率高的关键,只要最终目标代码,让计算机执行的操作少,时间角度自然就快。而另一维度的效率,我们也要认识到,那就是人的效率。计算机系统是由计算机和人综合起来的,实际上,人的效率更值钱,这在现在人力成本增加的情形下,对一些公司很关键的事。对于不算太复杂的问题,或者计算机效率低,但也足以满足需求的情况下,作为开发人员的“人”,不必为计算机的效率而花太多功夫。一个系统中最关键的环节,影响到系统性能的“瓶颈”部分,才值得去耗费大量的人力,以及绝顶聪明的脑袋,去追求计算机的效率。这也就是很多初级的程度员体会不到学算法的必要性的原因(尽管好的初级程序员,算法素养无时不刻在起作用)。你的解决方案,显然计算机的效率高了,人的效率低了。更要命的是,算法弄复杂了,出错的可能性更大了。任何的工程,遵循“简单即是美”的法则。
回答这样的问题,高兴,就多说几句。
当然,作为学习者,尤其是初学者,你的这种“人力低效率”,恰从学习角度是最高效率的,对训练思维的价值是相当大的。将这种思考和质疑继续下去!
- 为初学者答效率的问题
- 十六进制转换为十进制的效率问题
- 对程序设计初学者谈程序的效率
- 对程序设计初学者谈程序的效率
- Java判断字符串为空的方法,效率等问题
- 为提高存储过程效率应该注意的问题
- 关于初学者的问题
- 初学者的蠢问题
- oracle初学者的问题
- 初学者的问题
- Vector的效率问题
- 循环的效率问题
- 索引效率的问题
- memcpy的效率问题
- Dynamic_cast的效率问题
- OpenVPN的效率问题
- 程序效率的问题
- 程序效率的问题
- tomcat无法访问8080解决方法
- javase学习大纲
- php环境搭建
- 核心动画
- 向量、因子学习
- 为初学者答效率的问题
- [leetcode] 290. Word Pattern 解题报告
- Linux Ubuntu系统下Apache Maven的安装和配置
- UVA 1451 单调队列
- 2016{太原UI设计师}郭文军分享win8标准的制作
- 给俺的 CSDN 博客加背景音乐 - 高大尚的《心经》背景音乐
- B-tree/B+tree/B*tree
- 打造成功IT项目经理——光环国际——读感
- 架构师于小波:魅族实时消息推送架构