📁 知识点
📄 📄 📄 📄 📄 📄 📄 📄 📄 📄 📄 📄
第 1 讲 · 数据结构与算法复杂度
从逻辑结构、存储结构和操作出发,学会判断算法的时间与空间代价。
第 2 讲 · 程序设计、递归与调试
把问题拆成模块,用递归描述重复结构,并从第一处错误状态开始调试。
第 3 讲 · 数组、字符串与文件
理解连续内存、C 字符串边界和文件流,让数据从输入稳定走到输出。
第 4 讲 · 指针、结构与动态内存
用地址建立动态结构,理清数组指针、结构指针和内存生命周期。
第 5 讲 · 线性表与链表
比较顺序表和链表,并用指针不变量掌握单链表、循环链表和双向链表。
第 6 讲 · 矩阵、广义表与串匹配
从多维数组的地址映射到稀疏矩阵、广义表,再理解 KMP 如何避免重复比较。
第 7 讲 · 栈与队列
从受限线性表出发,掌握表达式、递归、循环队列和广度优先处理。
第 8 讲 · 树、二叉树与遍历
理清树的术语、二叉树性质、存储方式以及四种遍历的统一逻辑。
第 9 讲 · 搜索树、堆与哈夫曼编码
掌握二叉搜索树、AVL、堆、表达式树、线索树和哈夫曼树的用途与不变量。
第 10 讲 · 图、遍历与网络算法
从图的表示出发,理解 DFS、BFS、最小生成树、最短路径、拓扑排序和关键路径。
第 11 讲 · 查找、索引与散列
比较顺序、折半、树形、索引和散列查找,理解 ASL 与冲突处理。
第 12 讲 · 排序算法
用每趟不变量理解插入、选择、冒泡、希尔、堆、归并和快速排序。