0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

程序员值得一看的9本学习算法经典书籍

算法与数据结构 来源:未知 2019-01-29 09:14 次阅读

算法是独立于编程语言的,无论你是什么程序员都可以把它们应用到自己的编程语言中去,我遇到过很多在编程方面很有经验的程序员,比如一个Java程序员非常底层的API细节和语言的复杂性,但对算法却知之甚少。

有一次,我面试一个各项都很优秀的开发者,他擅长Java,多线程,但是他的数据结构和算法真的是差到爆,我问他,为什么他来面试之前不花点时间复习他的算法以及相关的答题的技巧?他的说辞是“这些算法只是用于面试,在实际工作中根本用不着”。确实,在我多年的Java开发生涯中,我确实没有直接使用过算法,从这一方面来说,他是对的,但是他并没有认识到算法和数据结构在提高编程技能方面的作用。

相信大家也都知道对于像BAT这样的企业,如果你能掌握算法和数据结构,那是非常加分的,除了UNIX和C语言,核心的编程依然是算法和数据结构保持不变。所以,算法对一个程序员来说是十分重要的,本文分享9本学习算法的好书:

1、《Introduction to Algorithms》

这是一本最受欢迎的算法书,里面包含了大量的理论,这本书当前版本是第三版,我强烈建议每个程序员在他们的书架上都应该有这本书,但只供简短的阅读和参考,一口气读完这本书是不可能的。我推荐这本书的另一个原因是它是关于算法的第一本书,全面论述了算法的内容

2、《算法》

这是我一直以来学习算法的首选书籍,只是现在翻它的频率降低了,通过这本书你会学到很多关于算法的背景知识,现在这本书还有针对不同编程语言的特定版本,如Java和C++,里面涵盖每位程序员应知应会的50种算法,我认为每位Java程序员都适合这本书。

3、《算法设计指南》

这本书设计了大量的算法及代码,我特别喜欢这本书的一大原因就是它能让你在实践中使用算法,也确实能够实实在在的帮助你了解特定的算法,并用来解决特定的问题,书中的代码示例是用C编写的,但不是很深奥很好理解,这本书我十多年前就买了,到现在依然会是不是看一下

4、《Algorithms For Interviews》

这是另外一本在面试前必读的算法书籍,封面本身就很有趣了,如果你仔细看,封面上的图片是用名人的缩略图绘制而成的,这本书解释了如何使用算法,我喜欢这本书是因为它的方法,它告诉你有些时候通过不同的方式去学一些东西,会让你更好的理解他

5、《算法技术手册》

这是一本很赞的学习编程算法的书,特别是对于Java程序员。它描述的算法侧重于实现它们,而不像其他算法书记一样使用的大量数学知识。所有的算法都以模式的形式呈现,有解释图例和伪代码,以及示例代码(使用C、c++、Java和Ruby),当然也有相关的算法基础理论知识。简而言之,这是程序员学习算法的最佳书籍之一。

6、《算法设计》

这实际上是继Thomas Cormon的算法导论之后的第二本最好的算法书。它并不是真正的算法介绍,可能更适合有经验的程序员,书中更侧重于算法设计。个人建议你最好先读好Robert Sedgewick 的《算法》,然后再来读这本书。

7、《算法引论》

这是一本非常适合自学的书,因为里面有很多问题和例子,它旨在提高读者解决问题的能力和理解算法设计背后的原则,这一点将会大大提高你的编程技巧

8、《算法设计与分析基础》

如果你有一定的基础,建议你把这本书当做你的算法进阶,本书是第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序。

9、《Python算法教程

这本书是为Python程序员设计的,作者Magnus Lie Hetland还撰写过另一本Python入门书《 Python基础教程》,本书主要介绍图形算法,前面已经说过算法是独立于编程语言的,学习Python的算法并不代表你无法用Java实现它们,但如果你已经有Python基础,那么本书就能很好的帮助你学习算法,

写在最后

以上就是今天要和大家分享的算法书,我认为算法是一个非常复杂的主题,建议同一本书可以通读两遍,不过死读书是没有用的,你还要尝试用你喜欢的编程语言去实现它们,渐渐地你会发现你的思维和代码质量有了明显的改进。最后,我认为世界上只有两种程序员:一种懂算法,一种不懂。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4607

    浏览量

    92826
  • JAVA
    +关注

    关注

    19

    文章

    2966

    浏览量

    104700
  • 程序员
    +关注

    关注

    4

    文章

    951

    浏览量

    29795

原文标题:无论你是什么技能方向,这些算法书都值得你看

文章出处:【微信号:TheAlgorithm,微信公众号:算法与数据结构】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于学习Linux 编程的基本经典书籍推荐

    ,这是可以在工作中培训和提高的,关键是很多程序员连基本的 Linux 编程思想都不了解,我怎么聘用他们呢?我们去大学招聘的时候,给本科应届生开出 8000 元的月薪,但是就是很难招到人。我拿经典
    发表于 10-31 11:00

    谢谢分享,值得一看

    谢谢分享,很值得一看,推荐。
    发表于 02-21 15:33

    抗EMC干扰,值得一看

    抗EMC干扰,绝对好东西。值得一看
    发表于 04-02 10:25

    经典著作值得一看

    C语言的经典著作值得学习C的童鞋们看看,对自己的编程或许有很大的帮助,{:1:}{:1:}
    发表于 04-09 22:31

    各种资料 值得一看

    各种资料值得一看顶起!!!
    发表于 06-23 15:40

    很全的资料值得一看

    `很全的资料值得一看`
    发表于 07-31 22:52

    AD09教程大全 值得一看的哦

    淘宝淘的值得一看的哦
    发表于 07-18 19:06

    STM32入门值得一看书籍

    本帖最后由 q15920078530 于 2015-7-16 21:47 编辑 当初入门STM32的时候常听大家说《STM32库开发实战指南》很不错,但是找来找去很麻烦,下载不到,然后发现《零死角玩转STM32》的内容和这边是样的。本人用得还不错,对于51转STM32真的
    发表于 07-16 21:34

    NI 的TestStand培训PPT资料,值得一看

    NI 的TestStand培训PPT资料,值得一看
    发表于 06-10 10:49

    值得一看的springer好书:《模拟电路与系统优化》

    模拟电路与系统优化有哪几点需要考虑?值得一看的springer好书:《模拟电路与系统优化》
    发表于 06-22 07:35

    程序员2011第9

    程序员2011第9期_《程序员》杂志2011年第9期 有关敏捷开发、kinect有关介绍等,值得一看
    发表于 12-30 15:02 0次下载
    <b class='flag-5'>程序员</b>2011第<b class='flag-5'>9</b>期

    算法竞赛入门经典第2版(紫[粉]书)

    算法入门经典,ACM集训队必备,对算法竞赛有兴趣的同学值得一看
    发表于 11-26 11:30 0次下载

    模拟CMOS集成电路设计

    模拟CMOS集成电路设计经典书籍值得一看
    发表于 04-06 17:24 55次下载

    程序员需要学习算法

    面试的时候往往需要考察算法知识。但是很多技术人员都知道,其实在工作中算法知识用的其实很少很少,那么就产生了个疑问,作为程序员,数据结构
    的头像 发表于 09-09 09:43 3573次阅读

    C语言依然位居榜单前列 依然值得程序员学习

    C语言依然位居榜单前列,依然值得程序员学习
    的头像 发表于 02-28 17:01 1552次阅读