数据结构精讲
这个分类在干嘛?
逐章精讲 Mark Allen Weiss《Data Structures and Algorithm Analysis in C++》(第4版)——数据结构与算法分析的经典教材。原书 650 余页,这里用初学者视角重写成 13 篇中文笔记:概念先讲”是什么/为什么”,代码逐段解释,复杂度分析一步步推,每篇末尾有折叠自测题。
13 篇导航
| 篇 | 章节 | 内容一句话 |
|---|---|---|
| 01 | C++ 编程基础 | 类、指针引用、Big-Five、模板 |
| 02 | 算法分析 | 大 O 记号与运行时间估算 |
| 03 | 表、栈、队列 | 线性结构三件套与实现 |
| 04 | 树 | 二叉树、BST、AVL、B 树 |
| 05 | 散列 | 哈希函数与冲突解决 |
| 06 | 优先队列(堆) | 二叉堆、d 堆、左式堆 |
| 07 | 排序 | 插入/希尔/堆/归并/快排全家族 |
| 08 | 不相交集类 | 等价关系与Union-Find |
| 09 | 图算法 | 遍历、最短路、网络流、MST |
| 10 | 算法设计技术 | 贪心、分治、动态规划、回溯 |
| 11 | 摊还分析 | 聚合、核算、势能三种方法 |
| 12 | 高级数据结构与实现 | 红黑树、kd 树、配对堆等 |
| 13 | 附录:类模板的分离编译 | 模板工程实践 |
学习建议
- 01→02 是地基:C++ 细节 + 大 O 分析,后面每一章都在用
- 03→08 是数据结构主线:线性结构 → 树 → 散列 → 堆 → 排序 → 并查集,层层递进
- 09 图算法是面试与竞赛的重中之重,建议重点消化
- 10 算法设计技术把前面所有结构串成解题方法论,DP 一节值得反复读
通关标准
学完本分类,你应该能:手写 BST/AVL/堆/哈希表/并查集、说清每种排序的适用场景与复杂度、用图算法建模最短路与拓扑排序问题、用贪心/分治/DP 拆解新题。