数据结构与算法
绪论
线性表
- 线性表的定义和基本操作
- 顺序表的定义
- 顺序表上基本操作的实现
- 单链表的定义
- 单链表上基本操作的实现
- 特殊链表(双链表、循环链表、静态链表)
- 顺序表和链表的比较
栈与队列
- 栈的基本概念
- 栈的两种存储结构
- 队列的基本概念
- 队列的两种存储结构
- 双端队列
- 栈与队列的应用
数组
- 数组的定义和存储结构
- 矩阵的压缩存储
树与二叉树
- 树的基本概念
- 二叉树的定义
- 二叉树的存储结构
- 二叉树的遍历
- 线索二叉树
- 树的存储概念
- 树、森林与二叉树的转换
- 树的应用——并查集
- 二叉排序树
- 平衡二叉树
- 哈夫曼树
图
- 图的基本概念
- 邻接矩阵法
- 邻接表法
- 十字链表
- 邻接多重表
- 图的基本操作
- 广度优先搜索
- 深度优先搜索
- 最小生成树
- 最短路径
- 拓扑排序
- 关键路径
查找
- 查找的基本概念
- 顺序查找
- 折半查找
- 分块查找
- B 树
- B+ 树
- 散列表的基本概念
- 散列函数 & 冲突处理
串
- 串的基本概念
- 串的模式匹配
- KMP 算法
排序
- 排序的基本概念
- 直接插入排序
- 折半插入排序
- 希尔排序
- 冒泡排序
- 快速排序
- 简单选择排序
- 堆排序
- 归并排序
- 基数排序
- 内部排序算法的比较和应用
- 外部排序方法
- 失败树
- 置换-选择排序
- 最佳归并树