前言 1
第1章 绪论 1
1.1 引言 1
1.2 基本概念和术语 3
1.3 算法和算法分析 5
1.3.1 算法特性 6
1.3.2 算法描述 6
1.3.3 算法性能分析与度量 7
1.4 数据结构课程的内容 8
习题 9
第2章 线性表 11
2.1 线性表的定义及逻辑结构 11
2.2 线性表的基本操作 11
2.3 线性表的顺序存储结构 12
2.3.1 顺序表 12
2.3.2 顺序表的基本运算 14
2.3.3 顺序表应用举例 16
2.4 线性表的链式存储结构 18
2.4.1 单链表 19
2.4.2 单链表的基本运算 20
2.4.3 循环链表 25
2.4.4 双向链表 26
2.4.5 静态链表 27
2.4.6 链表应用举例 28
2.5 顺序表和链表的比较 31
习题 31
上机实训 34
第3章 栈和队列 36
3.1 栈 36
3.1.1 栈的定义及基本运算 36
3.1.2 栈的顺序存储结构 37
3.1.3 栈的链式存储结构 38
3.1.4 栈的应用举例 39
3.1.5 栈与递归 44
3.2 队列 48
3.2.1 队列的定义及基本运算 48
3.2.2 队列的顺序存储结构 49
3.2.3 队列的链式存储结构 52
3.2.4 队列应用举例 53
习题 56
上机实训 58
第4章 其他线性数据结构 60
4.1 串 60
4.1.1 串的定义及基本操作 60
4.1.2 串的定长顺序存储结构 61
4.1.3 串的堆存储结构 63
4.1.4 串应用举例 65
4.2 多维数组 67
4.2.1 数组的定义及基本操作 67
4.2.2 数组的内存映像—向量存储结构 67
4.2.3 数组的应用举例 69
4.3 矩阵的压缩存储 70
4.3.1 稀疏矩阵的压缩存储 70
4.3.2 特殊矩阵的压缩存储 76
习题 78
上机实训 80
第5章 树和二叉树 82
5.1 树的定义和基本操作 82
5.1.1 树的定义 82
5.1.2 基本术语 83
5.1.3 树的基本操作 83
5.2 二叉树 84
5.2.1 二叉树的定义和基本操作 84
5.2.2 二叉树的性质 84
5.2.3 二叉树的存储 86
5.2.4 二叉树基本操作的算法实现 89
5.2.5 二叉树的遍历方法及递归实现 90
5.2.6 二叉树遍历的非递归实现 93
5.2.7 由遍历序列恢复二叉树 93
5.3 树和森林 97
5.3.1 树的表示 97
5.3.2 树的存储结构 98
5.3.3 树、森林与二叉树的转换 101
5.3.4 树和森林的遍历 103
5.4 哈夫曼树和判定树 104
5.4.1 哈夫曼树的定义与构造方法 104
5.4.2 哈夫曼编码 106
5.4.3 判定树 106
习题 107
上机实训 110
第6章 图 112
6.1 图的定义和术语 112
6.2 图的存储结构 115
6.2.1 邻接矩阵存储方法 115
6.2.2 邻接表存储方法 117
6.3 图的遍历 119
6.3.1 深度优先搜索 120
6.3.2 广度优先搜索 122
6.4 图的应用 124
6.4.1 图的连通性 124
6.4.2 生成树和生成森林 126
6.4.3 关节点和重连通分量 127
6.4.4 最小生成树 130
6.4.5 最短路径 135
6.4.6 AOV网与拓扑排序 140
习题 143
上机实训 145
第7章 查找 146
7.1 基本概念与术语 146
7.2 静态查找表 148
7.2.1 静态查找表结构 148
7.2.2 顺序查找 148
7.2.3 有序表的折半查找 149
7.2.4 斐波那契查找 151
7.2.5 分块查找 152
7.3 动态查找表 154
7.3.1 二叉排序树的查找 154
7.3.2 二叉排序树的构造和插人 155
7.3.3 二叉排序树的删除 155
7.4 哈希表查找杂凑法) 157
7.4.1 哈希表与哈希方法 157
7.4.2 常用的构造哈希函数的方法 158
7.4.3 处理冲突的方法 159
7.4.4 哈希表的查找分析 161
习题 162
上机实训 164
第8章 排序 165
8.1 基本概念 165
8.2 插人排序 165
8.2.1 直接插人排序 165
8.2.2 希尔排序 167
8.3 交换排序 169
8.3.1 冒泡排序 169
8.3.2 快速排序 171
8.4 择排序 174
8.4.1 简单选择排序 174
8.4.2 堆排序 175
8.5 二路归并排序 177
8.6 基数排序 179
8.6.1 多关键码排序 179
8.6.2 链式基数排序 179
8.7 外排序 182
8.7.1 外部排序的方法 182
8.7.2 多路平衡归并的实现 183
习题 186
上机实训 187
参考文献 189