有不少同学刚学编程,完成的作业心里总有“不是标准答案”能否再精简、再优化的疑虑。一般而言,代码的优化主要是两方面:
一方面包括多余变量的精简、代码指令的优化、控制结构的优化等等一些局部优化;
另一方面是思路优化之后代码整体的优化;
通常情况下,后者的优化的空间更大,也鼓励大家在这个方向多做工作。
因为具体来说,一般的代码大家只要不会犯一些低级的、常识性的错误,优化的进步空间非常有限,比如减少几个变量定义、重复使用某个变量、合并和精简几条语句、减少一些循环次数这些优化的效果,相当于让70分的代码提升个2分、3分,本质的提升并不大。我们更推荐初学同学进行这种优化:在解决问题的算法层面进行思考,即脱离代码本身仅思考思路和算法是否简单,过程最优。只有思路和算法是简单清晰的,过程是直接有效的,那么接下来的代码才可能也是简单高效的。因为思路和算法是关键!代码只是解决问题的实现手段。大家可以自行体会,思路简化之后相对应的代码实现才会从本质上得到优化,这种优化才是从70分上升到90分甚至95分的唯一办法。其次在使用前者的思路进行局部优化和改进,但通常情况下,随着代码量的提升,在日常的习惯中慢慢就会规范。
因此,大家早期不必太过执着于“代码优化”,重点培养解决思路(如参考别人的代码、优质题解等办法),大量练习即可。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程