内容简介
第1章绪论
1.1什么是数据结构
目 录
1.2基本概念和术语
1.3数据结构的发展及其重要地位
1.4算法的描述和算法分析
1.4.1算法的描述
1.4.2算法设计的要求
1.4.3算法效率的度量
习题1
1.4.4算法的存储空间需求
第2章线性表
2.1线性表的定义及操作
2.1.1线性表的定义
2.1.2线性表的基本操作
2.1.3线性表操作举例
2.2线性表的顺序存储及操作实现
2.2.1线性表的顺序存储结构
2.2.2顺序表的操作实现
2.3.1 线性表链式存储的概念
2.3线性表的链式存储结构及操作实现
2.3.2单链表
2.3.3单链表上的基本操作
2.3.4循环链表
2.3.5双向链表
2.4顺序表和链表的比较
习题2
3.1.1栈的概念及操作
3.1.2栈的存储结构及操作实现
3.1 栈
第3章栈和队列
3.2栈的应用举例
3.3 队 列
3.3.1 队列的定义和操作
3.3.2 队列的存储结构及操作实现
3.4队列的应用举例
习题3
第4章 串和数组
4.1 串的概念和基本操作
4.1.2串的基本操作
4.2.1 串的顺序存储结构
4.2串的存储结构
4.2.2串的链式存储结构
4.3串的操作实现
4.4数组
4.4.1数组的定义
4.4.2数组的顺序存储结构
4.5矩阵的压缩存储
4.5.1特殊矩阵的压缩存储
4.5.2稀疏矩阵的压缩存储
习题4
第5章二叉树和树
5.1树和森林
5.2二叉树
5.2.1二叉树的定义和基本术语
5.2.2二叉树的几个基本性质
5.2.3二叉树的存储结构
5.3二叉树与树、森林之间的转换
5.3.1二叉树与树之间的转换
5.3.2二叉树与森林之间的转换
5.4.1二叉树的遍历
5.4二叉树遍历
5.4.2二叉链表的建立
5.5线索二叉树
5.5.1全线索二叉树
5.5.2线索二叉树
5.6树的应用
5.6.1 哈夫曼树及其应用
5.6.2二叉排序树
习题5
6.1 图的定义和术语
第6章图和广义表
6.2图的存储结构
6.2.1邻接矩阵
6.2.2邻接表
6.3 图的遍历
6.3.1深度优先搜索遍历
6.3.2图的广度优先搜索遍历
6.4生成树
6.4.1 生成树
6.4.2最小生成树
6.5最短路径
6.5.1单源最短路径
6.5.2每一对顶点间的最短路径
6.6拓扑排序
6.6.1 AOV网
6.6.2拓扑排序
6.7* 关键路径
6.8广义表
6.8.1广义表的定义
6.8.2广义表的存储
习题6
第7章 排序
7.1排序的基本概念
7.2简单的排序方法
7.2.1气泡排序
7.2.2简单选择排序
7.2.3插入排序
7.3先进的排序方法
7.3.1快速排序
7.3.2归并排序
7.3.3堆排序
7.3.4基数排序
7.4各种内部排序方法的综合比较
7.4.1 时间性能
7.4.2稳定性
习题7
第8章查找
8.1静态查找表
8.1.1顺序查找
8.1.2折半查找
8.1.3分块查找
8.2动态查找表
8.2.1 二叉排序树
8.2.2二叉平衡树
8.2.3 B树
8.3哈希表及哈希查找
8.3.1哈希表概念
8.3.2哈希函数
8.3.3处理冲突的方法
8.3.4哈希表的查找
习题8
8.3.5 哈希表的删除
第9章文件
9.1文件的基本概念
9.2顺序文件
9.3索引文件
9.4索引顺序文件
9.4.1 ISAM文件
9.4.2 VSAM文件
9.5散列文件
9.6.1多重表文件
9.6多关键字文件
9.6.2倒排文件
习题9
第10章课程设计及实践指南
10.1线性表
10.1.1实验目的
10.1.2实验内容
10.2栈和队列
10.2.1实验目的
10.2.2实验内容
10.3.2实验内容
10.3串和数组
10.3.1实验目的
10.4二叉树和树
10.4.1实验目的
10.4.2实验内容
10.5图和广义表
10.5.1实验目的
10.5.2实验内容
10.6查找
10.6.1实验目的
10.6.2实验内容
10.7排序
10.7.1实验目的
10.7.2实验内容
附录C语言概要
Ⅰ C语言中的关键字(按字母顺序排列)
Ⅱ 运算符和结合性
Ⅲ C语言常用语法提要
Ⅳ C库函数
参考文献