两年前为了求职,为了提高自己是算法水平,买了一本《编程之美》,当时感觉这本书内容复杂,题目过于随意,实用性不如求职宝典之类的丛书。
两年后再读此书,感慨大有不同。随着自己阅历的提升和思想境界的开阔,尤其是自己算法思想的很大提升,越来越感觉到《编程之美》如此别致,看到他,犹如看到了一位老朋友,充满着亲切感!
重新阅读《编程之美》不过刚刚开始,颇有感触,尤其上面的真知灼见,令人回味无穷,荡气回肠,叹英雄所见略同也!今摘录几句,共享共勉,随着以后深入的阅读,本文接着补充。
(1) 要想把程序写好,需要一定的基础知识,包括编程语言,数据结构和算法。程序写的好的人通常都有缜密的逻辑思维能力和良好的数理基础,而且熟悉编程环境和编程工具。
(2) 算法的乐趣在于探索,而不在于背答案!
(3) 编程的过程实际上就是和数字及字符打交道的过程。如何提高掌控这些数字和字符的能力对提高编程能力至关重要。个人补充一下:正如“整个程序 10%-20%的代码,会占据80%-90%的运行时间”一样,我们在编程过程中,80%-90%的时间都是跟数字和字符打交道的。
(4) 对于在校学生,觉得自己写的程序,涂涂改改,大致逻辑能通过就行了。面试者指出的问题能回答一些就行了。但是对于未来的公司员工,我们要考察:程序设计的思路如何?编程风格如何?细节十分考虑到?程序是否有内存泄露?是否采用最优算法?能否对程序进行修改以满足不断变化的需求?是否能做到举一反三?