C语言算法书籍推荐(算法与数据结构书籍推荐)

“算法,先于计算机存在于世,比编程语言本身更为重要。语言只是工具,算法才是灵魂。”

这是云风在《游戏之旅:我的编程感悟》这本书里一个非常经典的表述。

市面上算法书比比皆是,究竟哪些书值得看,哪些书适合什么基础的人来看呢?

鉴于此,我针对不同层次、不同语言的程序员,我分别选择了不同的书。你可以看看自己究竟处于哪个层次,来对症下药。希望每位想在数据结构与算法上得到提升的同学,都能找到适合自己的学习资料,都能在现有水平上有所提高。

C语言算法书籍推荐(算法与数据结构书籍推荐)

针对入门的趣味书

如果你是入门的同学,我推荐你阅读《大话数据结构》和《算法图解》这两本书。

《算法图解》这本书跟《大话数据结构》走的是同样的路线,就像这本书副标题写的那样,“像小说一样有趣的算法入门书”,主打“图解”,通俗易懂。它只有不到 200 页,所以内容也比较少。作为入门,看看这本书,能让你对数据结构和算法有个大概的认识。

针对入门的同学,我推荐书的依据是看厚度。《算法导论》、《算法》这些书虽然比较经典、比较权威,但是非常厚。初学就去啃这些书肯定是比较费劲的。而一旦学不下来,挫败感就会很强。所以,如果是入门,我建议找一些比较薄的书来看。不要太在意书写得深浅,重要的是能不能坚持看完。

但是如果想要系统地学数据结构和算法,看这两本书肯定是不够的。这些入门书共同的问题是,缺少细节,不够系统,也不够严谨。所以,如果你已经有了一定基础,这两本书就满足不了你的需求了。

针对特定编程语言的教科书

讲数据结构和算法,肯定会跟代码实现挂钩。所以,很多人就很关心,某某书籍是用什么语言实现的,是不是自己熟悉的语言。市面大部分数据结构和算法书籍都是用 C、C 、Java 语言实现的,还有些是用伪代码。

面试必刷的宝典

算法对于面试很重要,很多人也很关心。我这里推荐几本有益于面试的书籍,分别是《编程之美》、《剑指 offer》、《编程珠玑》。

《编程珠玑》这本书的豆瓣评分非常高,有 9 分之高。这本书最大的特色是讲了很多针对海量数据的处理技巧。这个可能是其他算法书籍很少涉及的。面试的时候,海量数据处理的问题也是经常被问到的,特别是校招面试,所以不管是开拓眼界,还是应付面试,这本书都值得一看。

经典大部头

如果前面推荐的书籍你都没听过,那下面这两本你肯定不会陌生,那就是《算法导论》和《算法》。很多人一提到算法书籍就会搬出这两本,不过这两本虽然经典、出名,但也都特别厚,看起来很费劲。我估计全书读下来的人没多少。但是如果你想对数据结构和算法已经有更深入的了解,我还是非常建议你看看。

我个人觉得,《算法导论》这本书的章节安排的先后顺序不是很循序渐进,里面充斥着各种算法的正确性、复杂度的证明、推导,数学公式比较多,一般人看起来都会比较吃力。

《算法》这本书也是一本经典大部头,不过它比起《算法导论》来要友好很多,更容易看懂,更适合初学者入门。但是这本书的缺点也很明显,就是内容不够全面,比如动态规划这么重要的知识点这本书就没有讲。对于数据结构的东西,它讲的也不多,基本就是偏重讲算法。

殿堂级经典

如果说《计算机程序设计艺术》敢称数据结构与算法界的经典书第二,应该无人敢称第一。这本书包括很多卷。说实话,我也只看过比较简单的几卷,比如《基本算法》、《排序和查找》。

这套书的深度、广度、系统性、全面性是其他所有数据结构和算法书籍都所无法相比的。但是,如果你不是对算法和数据结构特别感兴趣,没有很好的数学、算法、计算机基础,想要把这些书都读完读懂是比较难的。你可以把它当作你算法学习的终极挑战。

福利时间到!

人民邮电出版社异步社区为了 InfoQ & 极客时间用户能更好地学习算法知识,特意赞助了 10 本《人工智能(第 2 版)》。本书是京东新书榜上排名第一的好书,美国经典入门教材,被誉为人工智能领域百科全书。人工智能领域近十年来最前沿教程,更加适合本科生使用。

《人工智能(第2版)》

[美]史蒂芬·卢奇(Stephen Lucci) 著

本书基于人工智能的理论基础, 向读者展示全面、新颖、丰富多彩且易于理解的人工智能知识体系。本书给出诸多的示例、应用程序、全彩图片和人物轶事,以激发读者的阅读和学习兴趣;还引入了机器人和机器学习的相关高级课程,包括神经网络、遗传算法、自然语言处理、规划和复杂的棋盘博弈等。

当然,除了书籍,还有更好的方式。近 3w 名程序员已经加入的极客时间专栏《数据结构与算法之美》,用最适合工程师的方式为你讲解,最常用、最核心的数据结构与算法。你可以利用一切碎片时间,地铁上、或者躺在家里舒服的床上去学习。

订阅福利

福利一:限时优惠价??68,原价??99,优惠仅 2 天,后天恢复原价。

福利二:每邀请一位好友购买,你可获得 24 元现金返现,邀请 3 个人就相当于免费学习本专栏。

如何订阅?

发表评论

登录后才能评论