数据结构与算法简明教程(Java语言版) / 高等学校通识教育系列教材
作者: 叶小平、陈瑛
出版时间:2016年9月
出版社:清华大学出版社
- 清华大学出版社
- 9787302439820
- 1-1
- 55596
- 0045178245-2
- 平装
- 16开
- 2016年9月
- 519
- 工学
- 软件工程
- TP312JA
- 计算机
- 本科
本书可分为三部分(共10章):第一部分是课程概述(第1章);第二部分是基于内存的数据结构(第2~7章),包括线性结构(第2~4章)、树结构(第5~6章)、图结构(第7章);第三部分是高级部分(第8~10章),包括查找(第8章)、排序(第9章)和文件(第10章)。
本书可作为高等院校计算机信息科学与技术及其相关专业本科生教材,也可作为非计算机专业开设相应计算机专业基础课的教材,还可作为自学教材。
第1章 绪论
1.1 数据与数据类型
1.1.1 数据的基本概念
1.1.2 数据项与数据元素
1.1.3 数据类型与抽象数据类型
1.2 数据逻辑与存储结构
1.2.1 数据逻辑结构
1.2.2 数据存储结构
1.3 数据运算与算法
1.3.1 数据运算
1.3.2 算法及其基本要求
1.3.3 算法设计与分析
1.4 “数据结构”课程的地位与教材内容
1.4.1 “数据结构”课程的地位
1.4.2 本书内容组织
本章小结
第2章 线性表
2.1 线性表概念
2.1.1 线性表逻辑结构
2.1.2 线性表ADT描述
2.2 线性表的顺序存储
2.2.1 顺序存储结构
2.2.2 顺序表的基本操作
2.3 线性表的链式存储
2.3.1 单链表概念
2.3.2 单链表的基本操作
2.3.3 线性表存储结构比较
2.4 链式存储其他实现方式
2.4.1 循环链表
2.4.2 双向链表
2.4.3 静态链表
2.5 单链表应用及迭代器
2.5.1 单链表倒置
2.5.2 两个有序链表合并
2.5.3 一元多项式计算
2.5.4 迭代器
本章小结
第3章 栈和队列
3.1 栈
3.1.1 栈基本概念
3.1.2 栈的顺序存储
3.1.3 栈的链式存储
3.2 栈的应用
3.2.1 数制转换
3.2.2 栈在递归中的应用
3.2.3 栈在括号匹配中的应用
3.2.4 表达式求值
3.2.5 迷宫求解
3.3 队列
3.3.1 队列基本概念
3.3.2 队列的顺序存储
3.3.3 队列的链式存储
3.4 队列的应用
本章小结
第4章 数组和串
4.1 数组
4.1.1 二维数组
4.1.2 矩阵的顺序表示与实现
4.1.3 特殊矩阵的压缩存储
4.1.4 稀疏矩阵的压缩存储
4.2 串
4.2.1 串及相关概念
4.2.2 串的基本操作
4.2.3 串的顺序存储
4.2.4 串的链式存储
4.2.5 串的模式匹配
本章小结
第5章 树
5.1 树结构及相关概念
5.1.1 树的基本概念
5.1.2 树的相关概念
5.2 树的存储
5.2.1 父结点表示法存储
5.2.2 子结点表示法存储
5.2.3 左子/右兄弟结点表示法存储
5.3 树的遍历
5.3.1 广度优先遍历
5.3.2 深度优先遍历
本章小结
第6章 二叉树及应用
6.1 二叉树的概念及性质
6.1.1 二叉树及其相关概念
6.1.2 二叉树的基本性质
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.4.3 线索二叉树操作
6.5 Huffman树及其应用
6.5.1 编码及分类
6.5.2 Huffman树
6.5.3 基于顺序存储Huffman树
6.5.4 Huffman编码
6.6 树与二叉树的转换
6.6.1 树转换为二叉树
6.6.2 二叉树还原为树
6.6.3 森林与二叉树的转换
本章小结
第7章 图
7.1 图的数据结构
7.1.1 图的基本概念
7.1.2 路径与连通
7.2 图的存储
7.2.1 基于邻接矩阵存储
7.2.2 基于邻接表存储
7.3 图的遍历
7.3.1 深度优先遍历
7.3.2 广度优先遍历
7.4 生成树与最小生成树
7.4.1 图的生成树
7.4.2 无向连通图最小生成树
7.5 有向网图的应用
7.6 有向无环图的应用
7.6.1 AOV网与拓扑排序
7.6.2 AOE网与关键路径
本章小结
第8章 查找
8.1 数据查找
8.2 基于线性表的查找
8.2.1 顺序查找
8.2.2 分块查找
8.2.3 二分查找
8.3 基于二叉树的查找
8.3.1 二叉查找树概念
8.3.2 基于二叉查找树的查找
8.3.3 二叉查找树插入与生成算法
8.3.4 二叉查找树删除
8.3.5 平衡二叉树
8.4 基于散列表的查找
8.4.1 常用散列函数构建
8.4.2 散列冲突处理
本章小结
第9章 排序
9.1 数据排序
9.1.1 排序的基本概念
9.1.2 排序算法性能分析
9.2 插入排序
9.2.1 直接插入排序
9.2.2 二分插入排序
9.2.3 Shell排序
9.3 交换排序
9.3.1 冒泡排序
9.3.2 快速排序
9.4 选择排序
9.4.1 直接选择排序
9.4.2 堆排序
9.5 归并排序
9.6 外排序
9.6.1 外排序的基本步骤
9.6.2 败者树k-路归并算法
9.6.3 k-路归并算法实现
本章小结
第10章 文件
10.1 文件及其分类
10.1.1 文件概述
10.1.2 文件结构与操作
10.2 顺序文件
10.2.1 顺序文件存储结构
10.2.2 顺序存储的实现
10.3 索引文件
10.3.1 索引表与索引文件
10.3.2 ISAM文件
10.3.3 VSAM文件
10.4 动态索引B-树
10.4.1 B-树
10.4.2 B+树
10.5 散列文件
10.6 多关键码文件
10.6.1 多重表文件
10.6.2 倒排文件
本章小结
参考文献