《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参数教材。
本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。其内容和章节编排1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。全书采用类C语言作为数据结构和算法的描述语言。
本书概念表述严谨,逻辑推理严密,语言精炼,用词达意,并有配套出版的《数据结构题集》(C语言版),便于教学,又便于自学。本书后附有光盘。光盘内容可在DOS环境下运行的以类C语言描述的“数据结构算法动态模拟辅助教学软件,以及在Windows环境下运行的以类PASCAL或类C两种语言描述的“数据结构算法动态模拟辅助教学软件”。
目录
- 第1章 绪论
- 1.1 什么是数据结构
- 1.2 基本概念和术语
- 1.3 抽象数据类型的表现与实现
- 1.4 算法和算法分析
- 第2章 线性表
- 2.1 线性表的类型定义
- 2.2 线性表的顺序表示和实现
- 2.3 线性表的链式表示和实现
- 2.4 一元多项式的表示及相加
- 第3章 栈和队列
- 3.1 栈
- 3.2 栈的应有和举例
- 3.3 栈与递归的实现
- 3.4 队列
- 3.5 离散事件模拟
- 第4章 串
- 4.1 串类型的定义
- 4.2 串的表示和实现
- 4.3 串的模式匹配算法
- 4.4 串操作应用举例
- 第5章 数组和广义表
- 5.1 数组的定义
- 5.2 数组的顺序表现和实现
- 5.3 矩阵的压缩存储
- 5.4 广义表的定义
- 5.5 广义表的储存结构
- 5.6 m元多项式的表示
- 5.7 广义表的递归算法第6章 树和二叉树
- 6.1 树的定义和基本术语
- 6.2 二叉树
- 6.2.1 二叉树的定义
- 6.2.2 二叉树的性质
- 6.2.3 二叉树的存储结构
- 6.3 遍历二叉树和线索二叉树
- 6.3.1 遍历二叉树
- 6.3.2 线索二叉树
- 6.4 树和森林
- 6.4.1 树的存储结构
- 6.4.2 森林与二叉树的转换
- 6.4.3 树和森林的遍历
- 6.5 树与等价问题
- 6.6 赫夫曼树及其应用
- 6.6.1 最优二叉树(赫夫曼树)
- 6.6.2 赫夫曼编码
- 6.7 回溯法与树的遍历
- 6.8 树的计数
- 第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.4 图的连通性问题
- 7.4.1 无向图的连通分量和生成树
- 7.4.2 有向图的强连通分量
- 7.4.3 最小生成树
- 7.4.4 关节点和重连通分量
- 7.5 有向无环图及其应用
- 7.5.1 拓扑排序
- 7.5.2 关键路径
- 7.6 最短路径
- 7.6.1 从某个源点到其余各顶点的最短路径
- 7.6.2 每一对顶点之间的最短路径
- 第8章 动态存储管理
- 8.1 概述
- 8.2 可利用空间表及分配方法
- 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.6 存储紧缩
- 第9章 查找
- 9.1 静态查找表
- 9.1.1 顺序表的查找
- 9.1.2 有序表的查找
- 9.1.3 静态树表的查找
- 9.1.4 索引顺序表的查找
- 9.2 动态查找表
- 9.2.1 二叉排序树和平衡二叉树
- 9.2.2 B树和B+树
- 9.2.3 键树
- 9.3 哈希表
- 9.3.1 什么是哈希表
- 9.3.2 哈希函数的构造方法
- 9.3.3 处理冲突的方法
- 9.3.4 哈希表的查找及其分析
- 第10章 内部排序
- 10.1 概述
- 10.2 插入排序
- 10.2.1 直接插入排序
- 10.2.2 其他插入排序
- 10.2.3 希尔排序
- 10.3 快速排序
- 10.4 选择排序
- 10.4.1 简单选择排序
- 10.4.2 树形选择排序
- 10.4.3 堆排序
- 10.5 归并排序
- 10.6 基数排序
- 10.6.1 多关键字的排序
- 10.6.2 链式基数排序
- 10.7 各种内部排序方法的比较讨论
- 第11章 外部排序
- 11.1 外存信息的存取
- 11.2 外部排序的方法
- 11.3 多路平衡归并的实现
- 11.4 置换一选择排序
- 11.5 最佳归并树
- 第12章 文件
- 12.1 有关文件的基本概念
- 12.2 顺序文件
- 12.3 索引文件
- 12.4 ISAM文件和VSAM文件
- 12.4.1 ISAM文件
- 12.4.2 VSAM文件
- 12.5 直接存取文件(散列文件)
- 12.6 多关键字文件
- 12.6.1 多重表文件
- 12.6.2 倒排文件
- 附录A 名词索引
- 附录B 函数索引
- 参考书目