第一章——绪论
1.1 数据结构的基本概念
1.2.1 算法的基本概念
1.2.2 算法的时间复杂度
1.2.3 算法的空间复杂度
第二章——线性表
2.1 线性表的定义和基本操作
什么时候要传入参数的引用“&”——对参数的修改结果需要“带回来”
2.2.1 顺序表的定义
2.2.2.1顺序表的插入删除
2.2.2.2 顺序表的查找
2.3.1 单链表的定义
2.3.2.1 单链表的插入删除
2.3.2.2 单链表的查找
2.3.2.3 单链表的建立
2.3.3 双链表
2.3.4 循环链表
2.3.5 静态链表
2.3.6 顺序表和链表的比较
第三章——栈和队列
3.1.1 栈的基本概念
3.1.2 栈的顺序存储实现
3.1.3 栈的链式存储实现
3.2.1 队列的基本概念
3.2.2 队列的顺序实现
3.2.3 队列的链式实现
3.2.4 双端队列
3.3.1 栈在括号匹配中的应用
3.3.2 栈在表达式求值中的应用
3.3.3 栈在递归中的应用
3.3.4 队列的应用
3.4 特殊矩阵的压缩存储
第四章——串
4.1.1 串的定义和基本操作
4.1.2 串的存储结构
4.2.1 朴素模式匹配算法(key)
4.2.2 KMP算法
4.2.3 求next数组
第五章——树和二叉树
5.1.1 树的定义和基本术语
5.1.2 树的性质
5.2.1 二叉树的定义和基本术语
5.2.2 二叉树的性质
5.2.3 二叉树的存储结构
5.3.1 二叉树的先中后序遍历
5.3.2 二叉树的层次遍历
5.3.3 由遍历序列构造二叉树
5.3.4 线索二叉树的概念
5.3.5 二叉树的线索化
5.3.6 在线索二叉树中找前驱后继
5.4.1 树的存储结构
5.4.2 树和森林的遍历
5.5.1 二叉排序树
5.5.3 哈夫曼树
第六章——图
6.1.1 图的基本概念
6.2.1 邻接矩阵法
6.2.2 邻接表法
6.2.3 十字链表、邻接多重表
6.2.4 图的基本操作
6.3.1 图的广度优先遍历
6.3.2 图的深度优先遍历
6.4.1 最小生成树
6.4.2 最短路径问题(BFS算法)
6.4.3 最短路径问题(Dijkstra算法)
6.4.4 最短路径问题(Floyd算法)
6.4.5 有向无环图描述表达式
6.4.6 拓扑排序
6.4.7 关键路径
第七章——查找
7.1 查找的基本概念
7.2.1 顺序查找
7.2.2 折半查找
7.2.3 分块查找
7.3.1 B树
7.3.2 B树的插入删除
7.3.3 B+树
7.4.1 散列查找(上)
7.4.2 散列查找(上)
第八章——排序
8.1 排序的基本概念
8.2.1 插入排序
8.2.2 希尔排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4.1 简单选择排序
8.4.2 堆排序
8.4.3 堆的插入删除
|