Skip to content

数据结构 ​


专题说明

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

学习定位 ​

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

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

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

章节导航 ​

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

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

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

进阶篇 ​

学习建议 ​

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

用 Go 代码验证抽象概念 ​

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

核心课学完,再进进阶篇 ​