本文的电子书均来自网络,仅供学习。若有侵权,麻烦留言联系我将相关电子书删除。

可以的话,大家去购买正版书籍~

针对入门的趣味书

入门初学的同学,不建议过度追求去读经典书,像《算法导论》《算法》。这些经典书对初学者来说,学起来很费劲,容易产生挫败感。所以,建议入门的同学,去看比较容易看的书,比如《大话数据结构》和《算法图解》。不要太在意书写得深浅,重要的是能不能坚持看完。

《大话数据结构》

这本书讲得很有趣,不枯燥。每个数据结构和算法,作者都结合生活的例子进行讲解。可以花两三天读完,最好还能用自己熟悉的语言将书中的例子实现一遍。

大话数据结构.pdf

《算法图解》

这本书主打“图解”,通俗易懂,有趣,只有不到200页。

算法图解.pdf

这些入门书的共同问题是,缺少细节,不够系统和严谨。如果想要系统学数据结构和算法,看这两本书是不够的。

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

《数据结构和算法分析》

国内外很多大学都拿这本书当教材。这本书非常系统,全面,严谨,而且又不是特别难,适合对数据结构和算法有些了解,并且掌握了至少一门编程语言的同学。

这本书有三个版本,分别是《数据结构和算法分析:C语言描述》《数据结构和算法分析:C++语言描述》《数据结构和算法分析:java语言描述》

数据结构与算法分析:C语言描述(原书第2版).pdf

数据结构与算法分析C++描述.pdf

数据结构与算法分析:java语言描述(原书第3版).pdf

《数据结构与算法》

如果你对Python或JavaScript比较熟悉,可参考这本书。

数据结构与算法 Python语言描述_裘宗燕.pdf

数据结构与算法JavaScript描述.pdf

面试必刷的宝典

《剑指offer》

这本书几乎包含了所有常见的,经典的面试题。

剑指offer.PDF

《编程珠玑》

这本书豆瓣评分有9分,最大特点是讲针对海量数据的处理技巧,这可能是其他算法书籍很少涉及的。

编程珠玑+第2版修订版.pdf

《编程之美》

这本书有多位作者,其中绝大数是微软的工程师,书的质量很有保证。不过,里面的算法题目有点难,也不是很系统。适合有一定基础,喜欢钻研算法问题,或者要面试Google、Facebook这样的公司的同学。

编程之美—微软技术面试心得.pdf

经典大部头

如果想更深入学数据结构和算法,强烈建议读《算法导论》和《算法》

《算法导论》

这本书的章节安排不是循序渐进,里面有很多各种算法的正确性、复杂度的证明、推导,数学公式比较多,一般人看起来很吃力,不适合作为入门书。

算法导论第2版.pdf

《算法》

这本书比起《算法导论》要友好很多,更容易看懂,更适合初学者入门。但缺点是内容不够全面,比如动态规划这么重要的知识点,里面没讲。对于数据结构的东西,讲得也不多,偏重将算法。

算法 第4版-谢路云 译.pdf

殿堂级经典

《计算机程序设计艺术》

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

计算机程序设计艺术(第一卷)高清中文版.pdf

计算机程序设计艺术(第二卷)高清中文版.pdf

计算机程序设计艺术(第三卷)高清中文版.pdf

计算机程序设计艺术 第四卷.pdf

闲暇阅读

适合在闲暇时间阅读的书,甚至连文科生都能读懂。

《算法帝国》

算法帝国.pdf

《数学之美》

数学之美.PDF

《算法之美》

算法之美.pdf