封面
版权页
前言
第1章 绪论
1.1 数据结构的基本概念
1.2 抽象数据类型
1.2.1 抽象数据类型的定义
1.2.2 抽象数据类型的描述
1.3 数据的逻辑结构与存储结构
1.3.1 逻辑结构
1.3.2 存储结构
1.4 算法的特性与算法的描述
1.4.1 算法的定义
1.4.2 算法的特性
1.4.3 算法的描述
1.5 算法分析
1.5.1 算法设计的要求
1.5.2 算法时间复杂度
1.5.3 算法空间复杂度
1.6 关于数据结构课程的地位及学习方法
习题
第2章 线性表
2.1 线性表的概念及运算
2.1.1 线性表的逻辑结构
2.1.2 线性表的抽象数据类型
2.2 线性表的顺序表示与实现
2.2.1 线性表的顺序存储
2.2.2 顺序表的基本运算
2.2.3 基本操作算法分析
2.2.4 顺序表应用举例
2.3 线性表的链式表示与实现
2.3.1 单链表的存储结构
2.3.2 单链表上的基本运算
2.3.3 单链表应用举例
2.3.4 循环单链表
2.3.5 双向链表
2.4* 静态链表
2.4.1 静态链表的存储结构
2.4.2 静态链表的实现
2.4.3 静态链表应用举例
2.5 线性表应用举例:一元多项式的表示与相乘
2.5.1 一元多项式的表示
2.5.2 一元多项式的相乘
2.6 小结
习题
第3章 栈与队列
3.1 栈的表示与实现
3.1.1 栈的定义
3.1.2 栈的抽象数据类型
3.1.3 顺序栈
3.1.4 链栈
3.2 栈的应用
3.2.1 数制转换
3.2.2 行编辑程序
3.2.3 算术表达式求值
3.3 递归
3.3.1 递归的定义
3.3.2 消除递归
3.4 队列的表示与实现
3.4.1 队列的定义
3.4.2 队列的抽象数据类型
3.4.3 顺序队列
3.4.4 顺序循环队列
3.4.5* 双端队列
3.4.6 链式队列
3.4.7 链式队列的实现
3.5 队列的应用
3.5.1 队列在杨辉三角中的应用
3.5.2 队列在回文中的应用
3.6 综合案例:停车场管理
3.7 小结
习题
第4章 串
4.1 串
4.1.1 串的定义
4.1.2 串的抽象数据类型
4.2 串的表示与实现
4.2.1 定长顺序存储表示与实现
4.2.2* 堆串的存储分配表示与实现
4.2.3* 块链存储表示与实现
4.3 串的模式匹配
4.3.1 Brute-Force经典算法
4.3.2 KMP算法
4.3.3 模式匹配应用举例
4.4 小结
习题
第5章 数组与广义表
5.1 数组的定义与运算
5.1.1 数组的定义
5.1.2 数组的抽象数据类型
5.1.3 数组的顺序表示与实现
5.2 特殊矩阵的压缩存储
5.2.1 对称矩阵的压缩存储
5.2.2 三角矩阵的压缩存储
5.2.3 对角矩阵的压缩存储
5.3 稀疏矩阵的压缩存储
5.3.1 稀疏矩阵的定义
5.3.2 稀疏矩阵的抽象数据类型
5.3.3 稀疏矩阵的三元组表示与实现
5.3.4 稀疏矩阵应用举例
5.3.5 稀疏矩阵的十字链表表示与实现
5.4 广义表
5.4.1 广义表的定义
5.4.2 广义表的抽象数据类型
5.5 广义表的头尾链表表示与实现
5.5.1 广义表的头尾链表存储结构
5.5.2 广义表的基本运算
5.5.3 广义表应用举例
5.6 广义表的扩展线性链表表示与实现
5.6.1 广义表的扩展线性链表存储
5.6.2 广义表的基本运算
5.6.3 采用扩展线性链表存储结构的广义表应用举例
5.7 广义表应用举例:导师-本科生制管理
5.8 小结
习题
第6章 树
6.1 树
6.1.1 树的定义
6.1.2 树的逻辑表示
6.1.3 树的抽象数据类型
6.2 二叉树
6.2.1 二叉树的定义
6.2.2 二叉树的性质
6.2.3 二叉树的抽象数据类型
6.2.4 二叉树的存储表示与实现
6.3 二叉树的遍历
6.3.1 二叉树遍历的定义
6.3.2 二叉树的先序遍历
6.3.3 二叉树的中序遍历
6.3.4 二叉树的后序遍历
6.4 二叉树的线索化
6.4.1 二叉树的线索化定义
6.4.2 二叉树的线索化实现
6.4.3 线索二叉树的遍历
6.4.4 线索二叉树应用举例
6.5 树、森林与二叉树
6.5.1 树的存储结构
6.5.2 树转换为二叉树
6.5.3 森林转换为二叉树
6.5.4 二叉树转换为树和森林
6.5.5 树和森林的遍历
6.6 综合应用举例:哈夫曼树
6.6.1 哈夫曼树的定义
6.6.2 哈夫曼编码
6.6.3 哈夫曼编码算法的实现
6.7 小结
习题
第7章 图
7.1 图的定义与相关概念
7.1.1 图的定义
7.1.2 图的相关概念
7.1.3 图的抽象数据类型
7.2 图的存储结构
7.2.1 邻接矩阵表示法
7.2.2 邻接表表示法
7.2.3 十字链表表示法
7.2.4 多重表表示法
7.3 图的遍历
7.3.1 图的深度优先遍历
7.3.2 图的广度优先遍历
7.4 图的连通性问题
7.4.1 无向图的连通分量与生成树
7.4.2 最小生成树
7.5 有向无环图
7.5.1 AOV网与拓扑排序
7.5.2 AOE网与关键路径
7.6 最短路径
7.6.1 从某个顶点到其余各顶点的最短路径
7.6.2 每一对顶点之间的最短路径
7.7 图的应用举例
7.7.1 距离某个顶点的最短路径长度为k的所有顶点
7.7.2 求图中顶点u到顶点v的简单路径
7.8 图的综合应用:铁路交通线路规划
7.9 小结
习题
第8章 查找
8.1 查找的基本概念
8.2 静态查找
8.2.1 顺序表的查找
8.2.2 有序顺序表的查找
8.2.3 索引顺序表的查找
8.3 动态查找
8.3.1 二叉排序树
8.3.2* 平衡二叉树
8.4* B-树与B+树
8.4.1 B--树
8.4.2 B+树
8.5 哈希表
8.5.1 哈希表的定义
8.5.2 哈希函数的构造方法
8.5.3 处理冲突的方法
8.5.4 哈希表查找与分析
8.5.5 哈希表应用举例
8.6 小结
习题
第9章 排序
9.1 排序的基本概念
9.2 插入排序
9.2.1 直接插入排序
9.2.2 折半插入排序
9.2.3 希尔排序
9.2.4 插入排序应用举例
9.3 选择排序
9.3.1 简单选择排序
9.3.2 堆排序
9.4 交换排序
9.4.1 冒泡排序
9.4.2 快速排序
9.4.3 交换排序应用举例
9.5 归并排序
9.6 基数排序
9.6.1 基数排序算法
9.6.2 基数排序应用举例
9.7 小结
习题
参考文献
封底
更新时间:2022-05-10 18:03:03