0300、数据结构:课程总目录
返回:本科课程:疾风计划
1、课程定位
数据结构是 408 主干入门的第一门课,也是 C++ 程序设计之后最适合继续补强的一门课。它关心的不是“语法怎么写”,而是数据如何组织、操作如何定义、算法为什么正确、复杂度如何估计。
| 项目 | 内容 |
|---|---|
| 课程 | 数据结构 |
| 教师 | 邓俊辉 |
| 院校 | 清华大学 |
| 资料来源 | 本地邓俊辉《数据结构》上、下视频与 PDF 课件 |
| 学习定位 | 408 主干入门,衔接算法设计、计算机系统、网络安全项目和后续刷题 |
| 笔记范围 | 0301~0312,对应 12 章课程内容 |
这组笔记按邓俊辉老师课程的 12 章整理:先搭总框架,再逐章复盘 ADT、实现、关键算法、复杂度、易错点和练习清单。后面真正跟视频学习时,可以在每章继续补截图、推导和代码实验。
2、学习主线
| 部分 | 章节 | 核心问题 | 后续连接 |
|---|---|---|---|
| 算法分析基础 | Chap 1 | 如何度量算法效率,如何理解迭代、递归、动态规划和下界 | 408 算法复杂度、递归分析 |
| 线性结构 | Chap 2-4 | 向量、列表、栈和队列如何支持不同访问模式 | 顺序表、链表、表达式求值、BFS |
| 树与图 | Chap 5-6 | 层次结构和关系网络如何存储、遍历和优化 | 二叉树、图遍历、最短路、最小生成树 |
| 搜索结构 | Chap 7-9 | 如何维护动态集合并支持高效查找、插入和删除 | BST、AVL、B 树、散列表、跳表 |
| 工程算法结构 | Chap 10-12 | 优先级队列、串匹配和排序如何服务真实算法问题 | 堆、KMP、BM、快速排序、Shell 排序 |
3、章节索引
| 编号 | Chap | 主题 | 复盘重点 | 笔记 |
|---|---|---|---|---|
| 0301 | 1 | 绪论与算法分析 | 计算模型、大 O、级数估计、迭代与递归、动态规划、算法下界 | 查看 |
| 0302 | 2 | 向量 | ADT、扩容、无序/有序向量、唯一化、二分查找、冒泡排序、归并排序 | 查看 |
| 0303 | 3 | 列表 | 双向链表、哨兵节点、无序/有序列表、选择排序、插入排序、列表归并 | 查看 |
| 0304 | 4 | 栈与队列 | 栈 ADT、递归栈、进制转换、括号匹配、表达式求值、队列与 BFS | 查看 |
| 0305 | 5 | 二叉树 | 树表示、二叉树节点、遍历、重构、PFC、Huffman 编码 | 查看 |
| 0306 | 6 | 图 | 图 ADT、邻接矩阵/表、BFS、DFS、拓扑排序、优先级搜索、Prim、Dijkstra | 查看 |
| 0307 | 7 | 二叉搜索树 | BST 有序性、查找、插入、删除、等价 BST、旋转、AVL | 查看 |
| 0308 | 8 | 高级搜索树 | 伸展树、B 树、红黑树、KD 树和多路搜索树 | 查看 |
| 0309 | 9 | 词典 | 散列、散列函数、冲突处理、桶排序、基数排序、跳表、位图 | 查看 |
| 0310 | 10 | 优先级队列 | PQ ADT、完全二叉堆、批量建堆、堆排序、左式堆、d 叉堆 | 查看 |
| 0311 | 11 | 串 | 串 ADT、蛮力匹配、KMP、BM、KR 和指纹思想 | 查看 |
| 0312 | 12 | 排序 | 快速排序、重复元素处理、线性时间选择、Shell 排序和逆序分析 | 查看 |
4、复盘顺序
| 场景 | 建议顺序 |
|---|---|
| 408 快速入门 | 0301 -> 0302 -> 0303 -> 0304 -> 0305 -> 0306 -> 0310 -> 0312 |
| 算法题刷题前置 | 0302 -> 0304 -> 0305 -> 0306 -> 0307 -> 0310 -> 0311 -> 0312 |
| 项目代码能力 | 0302 -> 0303 -> 0305 -> 0307 -> 0309 -> 0310 |
| 搜索结构专题 | 0307 -> 0308 -> 0309 |
| 字符串与排序专题 | 0311 -> 0312 |
5、统一复盘模板
| 复盘项 | 要回答的问题 |
|---|---|
| ADT | 这个结构对外承诺哪些操作? |
| 表示 | 顺序、链式、树形、图形或散列存储各有什么代价? |
| 不变式 | 操作前后必须保持什么性质? |
| 复杂度 | 最好、最坏、平均或分摊复杂度分别是多少? |
| 边界 | 空结构、单元素、重复元素、越界、退化情况怎么处理? |
| 代码 | 能否写出核心操作的伪代码或 C++ 框架? |
6、整理口径
邓俊辉老师的课程内容很细,博客这里先整理成可复盘的学习笔记:每章保留主线、关键算法、复杂度和代码骨架。后续看视频时,把具体例题、图示、证明细节和调试记录继续补到对应章节里。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ruiqy~!







