Skip to content

数据结构


专题说明

本专题已经重组为一套从零起步、逐步递进的数据结构课程。章节顺序不再按“知识点堆叠”展开,而是按照“抽象模型 -> 线性结构 -> 树与图 -> 查找与排序 -> 工程实践”的主线推进。

学习定位

数据结构是程序设计与算法分析之间的桥梁课程。它研究的不是“容器名字的集合”,而是三个更根本的问题:数据之间是什么关系、这些关系如何映射到内存、不同操作为什么会呈现不同的复杂度。数组为什么访问快、链表为什么插入灵活、堆为什么适合优先队列、哈希表为什么平均查找快、图为什么能表达复杂连接关系,这些都属于数据结构的核心议题。

本专题的写法不是应试提纲,而是课程讲义。每章都会尽量同时覆盖四个层面:

  1. 理论定义与核心不变量。
  2. 图示和内存视角。
  3. Go 代码实现与边界条件。
  4. 复杂度、适用场景与工程权衡。

章节导航

  1. 第一章 抽象、复杂度与内存模型

未登录状态下默认开放第一章,其余章节登录后可继续学习。

  1. 第二章 数组、切片与链表
  2. 第三章 栈、队列、双端队列与递归
  3. 第四章 树、二叉搜索树与堆
  4. 第五章 哈希表、集合与并查集
  5. 第六章 图、遍历与最短路径
  6. 第七章 查找、排序与选择问题
  7. 常见排序算法图解
  8. 十大经典排序算法对比
  9. 第八章 数据结构比较与工程实践

进阶篇

学习建议

先把模型建起来,再背术语

用 Go 代码验证抽象概念

不只问“会不会写”,还要问“为什么这样写”

核心课学完,再进进阶篇