数据结构 (Data Structures)
课程信息
本系列笔记基于浙江大学陈越、何钦铭教授的《数据结构》课程整理,旨在系统梳理数据结构与算法的基础知识,并结合 PAT 习题进行实战演练。
笔记内容涵盖了从基础的线性表到复杂的图论算法,以及各类排序与查找技术。对于课程中特色的“小白专场”实战部分,也进行了代码实现与分析。
目录导航
Part 1: 基础概念与线性结构
- 第 1 讲: 基本概念 (Introduction)
- 什么是数据结构与算法、最大子列和问题
- 第 2 讲: 线性结构 (Linear Structures)
- 线性表、堆栈、队列、多项式运算
Part 2: 树 (Tree)
- 第 3 讲: 树与二叉树 (Trees & Binary Trees)
- 二叉树存储与遍历、树的同构
- 第 4 讲: 二叉搜索树与平衡树 (BST & AVL)
- BST 操作、AVL 树旋转
- 第 5 讲: 堆与哈夫曼树 (Heaps & Huffman)
- 堆操作、哈夫曼编码、并查集
Part 3: 图 (Graph)
- 第 6 讲: 图的基础与遍历 (Graph Basics)
- 图的表示、DFS/BFS、六度空间
- 第 7 讲: 最短路径 (Shortest Paths)
- Dijkstra, Floyd, 哈利波特的考试
- 第 8 讲: 最小生成树与拓扑排序 (MST & TopoSort)
- Prim, Kruskal, 拓扑排序
Part 4: 排序与查找 (Sort & Search)
- 第 9 讲: 简单排序与归并 (Basic Sorts)
- 冒泡、插入、希尔、归并排序
- 第 10 讲: 快速排序与基数排序 (Advanced Sorts)
- 快速排序、表排序、基数排序
- 第 11 讲: 散列查找 (Hashing)
- 散列函数、冲突处理、性能分析
- 第 12 讲: 串的模式匹配 (KMP)
- KMP 算法详解