索引 / 001 ZH-CN
A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills(数据结构与算法常识指南) cover

计算机科学

计算机科学

A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills(数据结构与算法常识指南)

Jay Wengrow

英文原名: A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills

一本用浅白语言介绍程序员日常依赖的数据结构与算法的入门书。它通过计算各项操作所需的步数来讲解每种结构,并从这些计数出发建立大 O 记号,示例代码使用 JavaScript、Python 和 Ruby。每章末尾的练习帮助读者检验理解。

需要的基础: 能用任一常见语言进行基本编程,包括循环、函数和数组;数学上只需算术。

难度等级
入门
学术层次
本科
data structures算法big o notationrecursion编程教科书

01 / 经典教材推荐

经典教材推荐

适合谁

适合刚开始学数据结构、觉得正式教材难以入手的学生,希望补上学位课程所授基础的自学程序员和编程训练营毕业生,以及准备进一步阅读标准教材的读者。本书假定读者已能编写小程序,并想弄清为什么有的代码快、有的代码慢。

需要的基础

能用任一常见语言进行基本编程,包括循环、函数和数组;数学上只需算术。

覆盖内容

以步数衡量效率;时间与空间的大 O 记号;数组、集合以及配合二分查找的有序数组;简单排序算法及其分析;散列表;栈与队列;递归与递归思维;动态规划与记忆化;快速排序与快速选择;链表;二叉搜索树;堆与优先队列;字典树;图及其广度优先、深度优先搜索和 Dijkstra 算法;以及优化代码的实用技巧。

如何使用

巴尔加瓦的 Grokking Algorithms 主要借助插图讲解一组关键算法;本书篇幅更长、以代码为中心,配合练习逐一讲解核心数据结构。若想扎实练习分析真实代码,可选择本书。建议读完一章后,用自己熟悉的语言运行并改写书中示例。

版本与来源

第2版,由 The Pragmatic Bookshelf 于2020年8月出版(ISBN 9781680507225),新增了递归、动态规划和日常运用大 O 的章节,并在全书加入练习。本条目的书目信息来自 The Pragmatic Bookshelf。