| 作 者: | 刘大有 |
| 出版社: | 高等教育出版社 |
| 丛编项: | |
| 版权说明: | 本书为公共版权或经版权方授权,请支持正版图书 |
| 标 签: | 数据库理论 |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第一章 绪论
1.1 为什么要学习数据结构
1.2 数据结构概念
1.2.1 数据的逻辑结构
1.2.2 数据的存储结构
1.2.3 对数据结构的操作
1.2.4 数据结构示例
1.3 算法
1.3.1 算法及其特性
1.3.2 算法的描述
1.3.3 算法的评价准则
1.4 算法的正确性证明
1.5 算法分析基础
1.5.1 算法时间复杂性的分析方法
1.5.2 复杂性函数的渐近表示
1.5.3 算法时间与空间分析
1.5.4 计算复杂性和算法的效率
小结
参考文献与推荐读物
习题
第二章 线性表、堆栈和队列
2.1 线性表的定义和基本操作
2.2 线性表的顺序存储结构
2.3 线性表的链接存储结构
2.3.1 单链表
2.3.2 循环链表
2.3.3 双向链表
2.4 复杂性分析
2.5 堆栈
2.5.1 堆栈的定义和基本操作
2.5.2 顺序栈
2.5.3 链式栈
2.5.4 顺序栈与链式栈的比较
2.5.5 堆栈应用——括号匹配
2.6 队列
2.6.1 队列的定义和基本操作
2.6.2 顺序队列
2.6.3 链式队列
2.6.4 顺序队列与链式队列的比较
2.6.5 队列与堆栈的扩展
小结
参考文献与推荐读物
习题
第三章 数组和字符串
3.1 数组
3.1.1 数组的存储和寻址
3.1.2 一维数组类
3.2 矩阵
3.2.1 矩阵类
3.2.2 特殊矩阵
3.2.3 三元组表
3.2.4 十字链表
3.3 字符串
3.3.1 字符串的定义与字符串类
3.3.2 模式匹配算法
小结
参考文献与推荐读物
习题
第四章 树
4.1 树的基本概念
4.1.1 树的定义
4.1.2 树的相关术语
4.2 二叉树
4.2.1 二叉树定义和主要性质
4.2.2 二叉树顺序存储
4.2.3 二叉树链接存储
4.2.4 二叉树遍历
4.2.5 创建二叉树
4.2.6 复制二叉树
4.3 线索二叉树
4.3.1 线索二叉树定义
4.3.2 线索二叉树存储
4.3.3 线索二叉树基本算法
4.4 树和森林
4.4.1 树与二叉树的转换
4.4.2 树的顺序存储
4.4.3 树的链接存储
4.4.4 树和森林的遍历
4.5 压缩与哈夫曼树
4.5.1 文件编码
4.5.2 扩充二叉树
4.5.3 哈夫曼树和哈夫曼编码
4.6 应用
4.6.1 表达式求值
4.6.2 分类与决策树
小结
参考文献与推荐读物
习题
第五章 图
5.1 图的基本概念
5.2 图的存储结构与类定义
5.2.1 存储结构
5.2.2 Graph类
5.3 图的遍历算法
5.3.1 深度优先遍历
5.3.2 广度优先遍历
5.4 拓扑排序
5.5 关键路径
5.6 最短路径问题
5.6.1 无权最短路径问题
5.6.2 正权最短路径问题
5.6.3 每对顶点之间的最短路径
5.7 最小支撑树
5.7.1 普里姆算法
5.7.2 克鲁斯卡尔算法
5.8 图的应用
5.8.1 可及性与Warshall算法
5.8.2 连通分量
5.8.3 图在网络分析和信息检索
中的应用
小结
参考文献与推荐读物
习题
第六章 递归
6.1 递归的定义
6.2 基本递归过程
6.3 递归过程实现与堆栈
6.4 递归法求解问题
6.4.1 委员会问题
6.4.2 回溯
6.5 递归的效率
小结
参考文献与推荐读物
习题
第七章 排序
7.1 排序问题的基本概念
7.2 插入排序
7.2.1 直接插入排序
7.2.2 Shell排序
7.3 交换排序
7.3.1 冒泡排序
7.3.2 快速排序
7.4 选择排序
7.4.1 直接选择排序
7.4.2 堆排序
7.5 合并排序
7.6 基于关键词比较的排序算法分析
7.6.1 平方阶排序算法及改进算法
7.6.2 线性对数阶排序算法
7.6.3 分治排序的一般方法
7.6.4 基于关键词比较的排序算法下界
7.7 分布排序
7.7.1 基数分布
7.7.2 值分布
7.8 外排序
7.8.1 外存储器
7.8.2 磁带排序
7.8.3 磁盘排序
小结
参考文献与推荐读物
习题
第八章 查找
8.1 顺序查找
8.1.1 无序表的顺序查找
8.1.2 有序表的顺序查找
8.2 基于关键词比较的查找
8.2.1 对半查找
8.2.2 一致对半查找
8.2.3 斐波那契查找
8.2.4 插值查找
8.3 二叉查找树
8.3.1 基本概念和性质
8.3.2 查找、插入和删除
8.3.3 平均情况时间分析
8.4 最优二叉查找树
8.4.1 访问频率
8.4.2 最优二叉查找树
8.4.3 近似最优树的构造
8.5 平衡树
8.5.1 高度平衡树
8.5.2 重量平衡树
8.6 红黑树
8.6.1 红黑树的性质
8.6.2 旋转
8.6.3 插入
8.6.4 删除
8.7 B树及其变形树
8.7.1 多又树
8.7.2 B树
8.7.3 B树变形树
8.8 数字查找
8.8.1 检索结构查找
8.8.2 数字树查找
8.9 散列
8.9.1 散列函数
8.9.2 冲突调节
8.9.3 删除
8.9.4 重量平衡树的应用——按位置查找
小结
参考文献与推荐读物
习题
第九章 内存管理
9.1 概述
9.2 均匀大小记录的分配和回收算法
9.2.1 记录分配算法
9.2.2 访问计数器法
9.2.3 废料收集方法
9.3 不同大小记录的分配和回收算法
9.3.1 查找分配策略
9.3.2 边界标识法
9.3.3 压缩分配
9.4 伙伴系统
9.4.1 伙伴系统概述
9.4.2 分配记录和释放记录算法
小结
参考文献与推荐读物
习题
第10章 文件
10.1 文件的基本概念
10.1.1 文件及其分类
10.1.2 文件的逻辑结构与存储结构
10.2 顺序文件
10.2.1 顺序无序文件
10.2.2 顺序有序文件
10.2.3 增补文件
10.3 散列文件
10.3.1 散列文件
10.3.2 可扩充的散列文件
10.4 索引文件
10.4.1 动态索引结构和静态索引结构
10.4.2 ISAM文件
10.4.3 VSAM文件
10.5 多关键字文件
10.5.1 多重链表文件
10.5.2 倒排文件
小结
参考文献与推荐读物
习题
第11章 随机数
11.1 生成随机数
11.1.1 均匀分布随机数
11.1.2 其他分布随机数
11.2 随机数检验
11.2.1 一般检验方法
11.2.2 经验检验方法
11.3 随机排列与随机组合
11.3.1 随机排列
11.3.2 随机组合
11.4 应用
11.4.1 随机算法
11.4.2 使用随机数的快速排序算法
小结
参考文献与推荐读物
习题
附录
附录1 各章算法的C++实现
附录2 习题参考答案或解题思路