Appearance
附录 A · 容器 ↔ 章节 ↔ 级别对照矩阵
本附录给出九种 STL 容器与本书章节的对照关系,并标注各容器在 GESP C++ 各级别备考中的就近关联知识点,便于按级别定位"该先学哪个容器"。 ⚠️ 重要说明:GESP 考试大纲并未将 STL 单独列为知识块,STL 是贯穿多级别的工具性内容。下表中的"关联级别"是按知识点就近推定的备考参考,不是考纲原文要求;考纲原文的覆盖情况见 level1~level8 各册附录 A。
一、容器 ↔ 章节 ↔ 级别总表
| 章节 | 容器 | 头文件 | 底层结构 | 关联级别(参考) | 就近知识点 |
|---|---|---|---|---|---|
| 第2章 | vector | <vector> | 连续内存动态数组 | 四级起 | 一维数组、排序算法、枚举与模拟 |
| 第3章 | list | <list> | 双向链表 | 五级起 | 链表(五级)、线性表 |
| 第4章 | deque | <deque> | 分段连续内存 | 六级起 | 栈与队列的底层容器(六级)、单调队列 |
| 第5章 | set 系列 | <set> / <unordered_set> | 红黑树 / 哈希表 | 七级起 | 集合、去重、哈希表(七级) |
| 第6章 | map 系列 | <map> / <unordered_map> | 红黑树 / 哈希表 | 七级起 | 映射统计、哈希表(七级) |
| 第7章 | stack | <stack> | 默认 deque(适配器) | 五级起 | 栈、递归模拟、括号匹配(六级) |
| 第8章 | queue | <queue> | 默认 deque(适配器) | 五级起 | 队列、BFS、泛洪(七级) |
| 第9章 | priority_queue | <queue> | 二叉堆(默认 vector) | 六级起 | 堆、贪心、TopK、哈夫曼(六级) |
| 第10章 | pair | <utility> | 两个成员的聚合 | 四级起 | 多关键字排序、结构体替代 |
二、按级别反查:先学哪些容器
| 备考级别 | 优先掌握(必学) | 建议了解(选学) | 暂不需要 |
|---|---|---|---|
| 一级 ~ 三级 | 无(考纲不含 STL) | — | 全部 |
| 四级 | vector、pair | algorithm 中的 sort | list/set/map/适配器 |
| 五级 | vector、pair、stack、queue | list | 关联式容器、堆 |
| 六级 | 上述 + priority_queue、deque | set | unordered_*、multiset/multimap |
| 七级 | 上述 + set、map、unordered_set、unordered_map | multiset、multimap | — |
| 八级 | 九种容器全部 | 自定义比较、迭代器失效细节、复杂度优化 | — |
三、章节 ↔ 容器 ↔ 核心操作覆盖检查
| 章节 | 定义与初始化 | 增 | 删 | 改 | 查 | 遍历 | 复杂度表 | 易错清单 |
|---|---|---|---|---|---|---|---|---|
| 第2章 vector | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 第3章 list | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 第4章 deque | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 第5章 set 系列 | ✅ | ✅ | ✅ | ⚠️不可改 | ✅ | ✅ | ✅ | ✅ |
| 第6章 map 系列 | ✅ | ✅ | ✅ | ⚠️key 不可改 | ✅ | ✅ | ✅ | ✅ |
| 第7章 stack | ✅ | ✅ | ✅ | ✅ | ⚠️仅栈顶 | ❌ | ✅ | ✅ |
| 第8章 queue | ✅ | ✅ | ✅ | ✅ | ⚠️仅队头队尾 | ❌ | ✅ | ✅ |
| 第9章 priority_queue | ✅ | ✅ | ✅ | ❌ | ⚠️仅堆顶 | ❌ | ✅ | ✅ |
| 第10章 pair | ✅ | — | — | ✅ | ✅ | — | ✅ | ✅ |
⚠️ 与 ❌ 是容器设计使然,不是内容缺失:关联式容器的元素(或 key)不可修改,否则破坏有序性;三种容器适配器刻意屏蔽迭代器,不支持遍历。
四、本书章节 ↔ 各册(level1~8)的配合使用
| 本书章 | 可配合的级别册 | 典型配合方式 |
|---|---|---|
| 第2章 vector | level4(排序/枚举)、level5(二分/分治) | 用 vector 承载数组类算法 |
| 第3章 list | level5(链表) | 对照指针链表与 list 的实现差异 |
| 第4章 deque | level6(栈与队列) | 单调队列用于滑动窗口最值 |
| 第5章 set 系列 | level7(哈希表) | 去重与集合运算 |
| 第6章 map 系列 | level7(哈希表)、level8(图论) | 映射统计、离散化、邻接表存图 |
| 第7章 stack | level5(递归)、level6(树遍历) | 递归转非递归、DFS |
| 第8章 queue | level6(搜索)、level7(泛洪/图遍历) | BFS、泛洪填充 |
| 第9章 priority_queue | level6(哈夫曼树)、level8(算法优化) | 堆优化、TopK、贪心 |
| 第10章 pair | level4(结构体/排序)、level8(图论) | 多关键字排序、边集数组 |
本附录用于定位与检索;各章的完整讲解见正文,考点权重见附录 B。
