找回密码
 立即注册
推荐书 首页 好书推荐 专业技能 查看内容

书单 | 10本程序员必读的算法书籍推荐

2016-9-14 10:27| 发布者: 好书推荐| 查看: 12140| 评论: 0

摘要: 书单 | 10本程序员必读的算法书籍推荐!我们为你总结了十本各具特色的算法书,学习课程的同时,阅读这些书籍,快速前进,离你的理想目标更近一步!1.《算法导论》 Thomas H. Corman这是最著名的算法书之一,但要注意 ...
书单 | 10本程序员必读的算法书籍推荐!我们为你总结了十本各具特色的算法书,学习课程的同时,阅读这些书籍,快速前进,离你的理想目标更近一步!

1.《算法导论》 Thomas H. Corman

书单 | 10本程序员必读的算法书籍推荐


这是最著名的算法书之一,但要注意它的理论性非常强。目前它已经出到了第三版。我强烈建议每个程序员都在书架上放一本算法导论,但只用来做短暂的阅读和参考。因为这本书你是不可能一口气读完的。我第一本就推荐它的另一个理由是,它不限定任何编程语言,而且还有对应的教学课程。

2.《算法》 Robert Sedgewick & Kevin Wayne

书单 | 10本程序员必读的算法书籍推荐


这本书一直是我偏爱的算法参考,但现在我看的比较少了。你能在这本书里学到很多算法的背景知识,而且现在这本书也有了很多对应不同语言的版本(比如 Java 和 C++)。信不信由你,如果你已经掌握了一门编程语言,那么用这门语言学习算法的曲线就会不那么陡峭。

3.《算法设计手册》 Steve S. Skiena

书单 | 10本程序员必读的算法书籍推荐


这也是一本很棒的算法书,介绍的算法类型非常丰富,也包含很多代码。我尤其喜欢书中介绍算法在实际中是如何应用的。这有助于你了解一类算法可以用来解决怎样的一类问题。书中的代码是用 C 写的,但并不是很深奥,所以看起来很轻松。我在毕业快十年以后看这本书,也很快就掌握了一些图论算法。 这本书我已经买了有十年了,现在还是是不是会拿出来看一看。

4.《面试算法》 Adnan Aziz

书单 | 10本程序员必读的算法书籍推荐


这是一本必读的算法书,尤其对于要找工作的人来说。光看封面就知道这本书的内容很有趣:图灵的人脸是用许多张不同人物的缩略图拼成的。而书中就介绍了如何实现这样的拼接算法。我喜欢这本书,因为它解决问题的途径和目的比较独特。有时候怀着不同目的去学习同样的东西可能会更有助于理解。

5.《算法简述》

书单 | 10本程序员必读的算法书籍推荐


这是一本很棒的算法书,尤其对于 Java 程序员来讲。它着重从实现的角度来介绍各种算法,也不像很多其他经典教材那样包含很多数学。所有的算法都是用模式来描述的,也提供了学习它们的动机、解释用的图片、高层次的伪代码以及实际可运行的代码(C、C++、Java 和 Ruby)。书中也包含一些测试,用以证明不同算法之间理论上的性能差异。简而言之,这是程序员学习算法最好一本书之一。

6.《算法设计》 Kleinberg & Tardos

书单 | 10本程序员必读的算法书籍推荐


这应该是 Thomas Coren 的算法导论之后第二好的算法书。它不是一本导论,而是面向有经验的程序员。书中侧重为对基本算法比较熟悉的程序员介绍了一些算法设计的知识。你应该先看一本导论再来学习这本书。

7.《算法导论:一种新的途径》 Udi Manber

书单 | 10本程序员必读的算法书籍推荐


这是一本很适合自学的书,因为其中包含了几百个问题和例子。它是为提高读者的问题求解能力以及令读者掌握算法设计背后的原理所编写的。这有助于你提高解决问题和写代码的能力。

8.《算法设计与分析》 Anany Levitin

书单 | 10本程序员必读的算法书籍推荐


这也是每个程序员都应该在书架上放一本的算法书。在你学习完一本导论书以后,你可以通过这本书来学习一些进阶知识。

9.《数据结构和算法》 Aho, Ullman & Hopcroft

书单 | 10本程序员必读的算法书籍推荐


又一本精彩的数据结构和算法入门教材。这本书排版美观大方,很多不喜欢数学的程序员们都会喜欢它。

10.《Python算法》

书单 | 10本程序员必读的算法书籍推荐


这本书是为 Python 程序员所编写的。作者 Maguns Lie Hetland 同时也是另一本很受欢迎的 Python 入门教材《Beginning Python》的作者。这本书侧重介绍图论算法。正如我所说,算法跟具体的编程语言是无关的。你也可以用 Java 或者 C++ 来实现从这本书里学到算法。当然如果你已经会 Python,这就是一本绝佳的教材。

这就是每个程序员都应该读的10本算法书。当然,算法是一个很复杂的话题,很多算法只学习一遍是很难彻底理解的。遇到这种情况时,我建议把同一本书读两遍。并且,光读是不够的,你还要用自己喜欢的语言去实现算法。试着去实现你自己的 ArrayList 和 HashMap。学习算法的成果并不会马上就显露出来,但你能注意到自己在思考和解决问题的时候已经有了细微的变化,代码质量也会逐渐提高。毕竟我们常说,世界上有两种程序员,一种是懂算法的,另一种是不懂的。

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门推荐

5本考古神作,重现5大失落的古文 5本考古神作,重现5大失落的古文明

在人类历史上,曾有诸多文明盛极一时,又因为种种原因销声匿迹!今天,小编…[详细]

学习数据库必读好书推荐 学习数据库必读好书推荐

1、SQL必知必会SQL入门经典教程全新升级,麻省理工学院、伊利诺伊大学等众…[详细]

精选豆瓣高分算法书单推荐 精选豆瓣高分算法书单推荐

算法最开始是数学概念,我国古代称之为“术”,最早出现在《周髀算经》和《…[详细]

网站地图|推荐书|好看的小说|爱好书|小说推荐|好书推荐|Archiver|好书推荐 皖ICP备2021018936号-1

GMT+8, 2024-11-21 18:31 , Processed in 0.157954 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2014-2017 Comsenz Inc.

返回顶部