第1章 绪论
1.1 数据结构的研究内容
1.1.1 数据计算问题和非数值计算问题
1.1.2 几个典型的非数值计算类问题
1.2 数据结构的定义
1.3 基本概念和术语
1.4 抽象数据类型的定义与实现
1.4.1 抽象数据类型的定义
1.4.2 抽象数据类型的实现
1.5 算法和算法评价
1.5.1 算法的概念
1.5.2 算法评价
第2章 线性表
2.1 几个应用案例
2.2 线性表的抽象数据类型
2.3 顺序表
2.4 链表
2.4.1 单链表
2.4.2 单循环链表
2.4.3 双向链表
2.4.4 双向循环链表
2.5 顺序表和链表对比
2.6 线性表的应用
2.6.1 线性表的合并
2.6.2 有序表的合并
2.6.3 一元多项式运算
第3章 栈和队列
3.1 几个应用案例
3.2 栈的表示及实现
3.2.1 栈的抽象数据类型
3.2.2 顺序栈
3.2.3 链式栈
3.3 栈的应用
3.3.1 进制转换
3.3.2 括号匹配检验
3.3.3 表达式求值
3.3.4 函数调用
3.4 队列的表示及实现
3.4.1 队列的抽象数据类型
3.4.2 链队列
3.4.3 循环队列
3.4.4 队列应用
第4章 串和数组
4.1 审
4.1.1 串的抽象数据类型
4.1.2 串的存储结构——定长顺序串
4.1.3 串的存储结构——堆分配串
4.1.4 串的存储结构——块链
4.1.5 模式匹配
4.2 数组
4.2.1 数组的抽象数据类型
4.2.2 数组的顺序存储
4.2.3 特殊矩阵的压缩存储
4.3 递归和广义表
4.3.1 递归和数学归纳法
4.3.2 计算机科学中的递归
4.3.3 递归函数
4.3.4 广义表
第5章 树和二叉树
5.1 几个应用案例
5.2 树的定义及抽象数据类型
5.2.1 树的定义
5.2.2 树的抽象数据类型
5.3 二叉树的定义及抽象数据类型
5.3.1 二叉树的定义
5.3.2 二叉树的性质
5.3.3 二叉树的抽象数据类型
5.4 二叉树的存储结构及基本操作实现
5.4.1 顺序存储结构
5.4.2 链式存储结构
5.4.3 二叉树的遍历
5.4.4 二叉树的还原
5.4.5 其他操作
5.5 树和森林的存储及基本操作实现
5.5.1 树的存储结构
5.5.2 树的遍历
5.5.3 森林的遍历
5.6 哈夫曼树及应用
第6章 图
6.1 两个应用案例
6.2 图的定义及抽象数据类型
6.2.1 图的定义
6.2.2 图的抽象数据类型
6.3 图的存储结构及基本操作
6.3.1 邻接矩阵
6.3.2 邻接表
6.3.3 逆邻接表
6.4 图的遍历
6.4.1 深度优先遍历
6.4.2 广度优先遍历
6.5 图的应用
6.5.1 最小生成树
6.5.2 最短路径
6.5.3 拓扑排序
6.5.4 关键路径
第7章 查找
7.1 查找的基本概念
7.2 线性表的查找
7.2.1 顺序查找
7.2.2 折半查找
7.2.3 分块查找
7.2.4 线性表查找总结
7.3 树表的查找
7.3.1 二叉排序树
7.3.2 平衡二叉树
7.3.3 B-树
7.3.4 B+树
7.4 散列表的查找
7.4.1 定义
7.4.2 散列表的设计
7.4.3 散列表的操作
7.4.4 散列表的性能分析
第8章 排序
8.1 排序的基本概念
8.2 插入类排序
8.2.1 直接插入排序
8.2.2 希尔排序
8.3 交换类排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4 选择类排序
8.4.1 简单选择排序
8.4.2 堆排序
8.5 归并排序
8.6 基数排序
参考文献
展开