算法

不建议一门心思钻进算法里,因为在大多数程序员岗位中算法的重要性很低,而且算法岗与算法几乎没有任何关系。不过若是仅从找工作角度出发,考虑到目前各大厂面试对算法能力的要求之高,算法仍是必须要熟练掌握的。只是对算法的掌握不应与对工程技术的掌握相冲突,不要陷进去出不来。

  • 算法(第 4 版):中文版正文 610 页,英文原版出版于 2011 年,黑白印刷。经典算法入门书,深度和广度有所不足,但比较容易理解,在基础知识点上比较详实。尽管深度有所不足,但相较国内数据结构的教学内容仍然是远远超出。书中使用 Java 作为教学语言,可以当作半本 Java 入门书,阅读之前甚至可以不需要 Java 基础。翻译不错。

  • 算法导论:中文版正文 670 页,英文原版出版于 2009 年,黑白印刷。简称 CLRS。深度和广度都很高,经典程度想必无需多提。但由于书中过于重视复杂度推导,因此并不适合作为算法入门书。事实上,作者自己曾提及没见过一个本科生把这本书读完。个人认为甚至不太适合中级程序员阅读。翻译较差。

  • 算法设计:英文版正文 794 页,英文原版出版于 2006 年,黑白印刷。康奈尔大学的算法教材,相较算法导论更不重视复杂度推导而重视直观呈现。一样的大部头,一样不适合初学者阅读。

  • 计算机程序设计艺术:共四卷,原计划共七卷,已编写了 60 余年并且仍在编写,最新版是卷 4A,黑白印刷。简称 TAOCP,作者是时年 84 岁的高德纳(Donald E. Knuth)。算法领域的最高圣经。书中汇编语言作为教学语言。虽然经典,但由于以汇编语言作为教学语言、内容非常难,而且内容详实程度以及超出了几乎所有人的需要,因此几乎不适合任何人阅读。翻译不错。

最后更新于