掌握数据结构是编写高效软件和通过技术面试的先决条件。这些书籍涵盖了每个程序员必须知道的基本数据结构,以及针对特定领域的高级结构。

入门数据结构

学习基本数据结构的可访问教科书。

书籍作者年份级别描述
Python中的数据结构与算法
Wiley
迈克尔·T·古德里奇,罗伯托·塔马西亚,迈克尔·H·戈德瓦瑟2013初学者-中级使用Python对数据结构的清晰介绍,广泛应用于二年级计算机科学课程。还有Java和C++的配套卷。
C++中的数据结构与算法分析
第4版,培生
马克·艾伦·韦斯2013中级严格的处理和算法分析。提供C++、Java和C版本。
使用Python解决问题的算法与数据结构
在线
布拉德·米勒,大卫·拉纳姆2011初学者免费的互动在线教科书,包含可运行的代码示例。

高级数据结构

超越基础的专业数据结构。

书籍作者年份级别描述
高级数据结构
剑桥大学出版社
彼得·布拉斯2008高级全面的参考,涵盖平衡树、堆、哈希表、持久结构和专业树。
数据结构与应用手册
第2版,CRC出版社
迪内什·P·梅赫塔,萨尔塔吉·萨赫尼(主编)2018高级百科全书式的参考,包含各大数据结构的领先专家章节。
纯函数数据结构
剑桥大学出版社
克里斯·奥卡萨基1999高级对函数式编程语言的数据结构的开创性处理。包括新颖的持久结构。

算法与数据结构结合

将数据结构与算法设计相结合的书籍。

书籍作者年份级别描述
算法导论
第4版,麻省理工学院出版社
托马斯·H·科门,查尔斯·E·莱瑟森,罗纳德·L·里维斯特,克利福德·斯坦2022中级-高级CLRS涵盖所有基本数据结构,并对其算法内容进行了全面分析。
算法
第4版,阿迪森-韦斯利
罗伯特·塞奇威克,凯文·韦恩2011中级普林斯顿的教科书,出色地处理数据结构,并有配套的Coursera课程。基于Java。
算法设计手册
第3版,斯普林格
史蒂文·S·斯基纳2020中级对数据结构的实用覆盖,结合真实的“战斗故事”。

面试准备

专注于技术编码面试的数据结构。

书籍作者年份级别描述
破解编码面试
第6版,CareerCup
盖尔·拉克曼·麦克道尔2015初学者-中级标准的面试准备书,包含189个编程问题。数据结构章节对FAANG面试至关重要。
编程面试要素
第2版
阿德南·阿齐兹,李宗贤,阿米特·普拉卡什2015中级比CTCI更具挑战性的问题,提供详细解决方案。提供Python、Java和C++版本。
竞争程序员手册
免费
安提·拉克松宁2017中级-高级免费的PDF,涵盖竞争编程的数据结构和算法。

专业和函数数据结构

特定领域和范式的独特数据结构。

书籍作者年份级别描述
多处理器编程的艺术
第2版,摩根·考夫曼
莫里斯·赫尔利希,尼尔·沙维特,维克托·卢昌科,迈克尔·斯皮尔2020高级并发数据结构,包括无锁队列、栈和哈希表。
游戏程序员的数据结构
Wordware
罗恩·彭顿2002中级具有游戏特定应用的数据结构,如空间分区和场景图。
实用的简洁数据结构
斯普林格
拉吉夫·拉曼2020高级使用信息论最小空间的节省空间的数据结构。