文本内容:
如何提升算法设计能力阅读代码和写更好的代码阅读代码是成为优秀程序员的不二法门,至少要花一半的学习时间来阅读代码,其次才是写代码(当然,无论是阅读代码和写代码,其中最重要的都是组织程序架构和设计算法思路,而不是打字)要阅读经典好代码和高手的代码,还有自己的代码(尤其是需要经常反思自己所写的代码,不断精益求精),仔细阅读代码,理解程序的整体架构和解题思路,分析每条语句的含义和所起作用,并对关键语句进行注释需要注意的是,阅读和理解他人的代码只是学习的第一步,接下来更重要的事情是,在深刻理解了原有代码的基础上写出更好的代码何为更好的代码?首先是代码意图更明确,逻辑更清晰写代码忌讳拐弯抹角,算法和数学模型的构建必须清晰直观,让人一看就懂有数学公式的最好直接上公式,与某种经典算法相关的,最好旁注原始模型切勿使用过多的技巧或旁门左道(生僻)方法,使阅读者难以理解算法思路不清晰,代码本身结构不好的,再多注释也没用!其次是更高效的代码分析原有代码的时间复杂度和空间复杂度,看看能否优化,动态规划及其相关降维优化是常用的方法即使不能在数量级上进行优化,常数优化也可以提高不少效率调整循环变量的顺序或取值,适当设置判断语句的位置,有时能起到很好的作用根据题目条件,以空间换时间或时间换空间也是常用的方法最后是代码更简洁代码简洁并不意味着代码越短越好企图通过使用无意义的字母命名变量或函数来缩短代码,或企图通过不加空格,不分行的方式来减少代码行数的方法都是不可取的简洁的代码和规范的编码并无冲突,适当的空格,空行和正确的缩进能帮助我们快速的阅读代码只有直观清晰的算法才会催生简洁明了的代码所以在动手编码前,先确保自己对算法有了正确的理解,思路已经很清晰流畅了,才能下笔如有神此外,对编程语言特性的深入理解也会帮助我们写出简洁的代码,但千万不能走极端,在代码的简洁性和可读性之间,我们要更注重后者总之,要经常阅读优秀的代码,但不是全盘接受,人云亦云,更不可囱冏吞枣,浅尝辄止,要在准确理解原有代码的基础上,加入自己的思考,写出真正属于自己的好代码。