第1章 绪论 1
1.1 引言 1
1.2 基本概念和术语 3
1.3 算法描述 5
1.3.1 算法的重要特性 5
1.3.2 数据结构的基本操作 5
1.3.3 算法的描述方法 5
1.4 算法分析 6
1.4.1 算法设计的要求 6
1.4.2 算法时间效率的度量分析 7
本章小结 8
习题一 9
第2章 线性表 11
2.1 线性表的概念和基本操作 11
2.2 线性表的顺序存储结构 12
2.2.1 顺序表的定义 12
2.2.2 顺序表中元素的插入 14
2.2.3 顺序表中元素的删除 15
2.2.4 顺序表中元素的定位 16
2.3 线性表的链式存储结构 16
2.3.1 单链表的定义和操作实现 16
2.3.2 循环链表的定义和操作实现 23
2.3.3 双向链表的定义和操作实现 24
2.4 线性表两种存储方式的比较 25
2.5 应用举例分析 26
本章小结 31
习题二 31
第3章 栈和队列 34
3.1 栈 34
3.1.1 栈的定义和基本操作 34
3.1.2 栈的顺序存储结构和操作实现 35
3.1.3 栈的链式存储结构和操作实现 37
3.1.4 递归和栈 38
3.1.5 算术表达式的计算 41
3.2 队列 48
3.2.1 队列的定义和基本操作 48
3.2.2 队列的顺序存储结构和操作实现 49
3.2.3 队列的链式存储结构和操作实现 52
3.3 应用举例分析 55
本章小结 58
习题三 58
第4章 其他线性数据结构 61
4.1 串 61
4.1.1 串的定义和基本操作 61
4.1.2 串的表示和实现 62
4.1.3 串的基本操作的实现 63
4.2 多维数组 66
4.2.1 多维数组的定义和存储结构 66
4.2.2 稀疏矩阵的压缩 68
4.2.3 特殊矩阵的压缩 71
4.3 广义表 73
4.3.1 广义表的定义和基本运算 73
4.3.2 广义表的存储结构 74
4.4 应用举例分析 76
本章小结 77
习题四 78
第5章 树和二叉树 81
5.1 树的基本定义 81
5.1.1 树的定义 81
5.1.2 基本术语 82
5.2 二叉树 83
5.2.1 二叉树的定义和基本操作 83
5.2.2 二叉树的性质 84
5.2.3 二叉树的存储结构 86
5.2.4 二叉树的遍历 89
5.3 树和森林 95
5.3.1 树的存储结构 95
5.3.2 树、森林和二叉树的转换 98
5.3.3 树和森林的遍历 100
5.4 树的应用 101
5.4.1 哈夫曼树和哈夫曼编码 101
5.4.2 线索二叉树 104
5.5 应用举例分析 107
本章小结 111
习题五 111
第6章 图 116
6.1 图的定义和术语 116
6.2 图的存储结构 119
6.2.1 邻接矩阵 119
6.2.2 邻接链表和逆邻接链表 122
6.2.3 十字链表 125
6.2.4 邻接多重表 125
6.3 图的遍历 126
6.3.1 深度优先遍历 127
6.3.2 广度优先遍历 128
6.4 图的应用 130
6.4.1 生成树和最小生成树 130
6.4.2 拓扑排序 133
6.4.3 关键路径 136
6.4.4 最短路径 138
6.5 应用举例分析 141
本章小结 146
习题六 147
第7章 查找 151
7.1 查找的基本概念 151
7.2 线性表查找 153
7.2.1 顺序查找 153
7.2.2 二分法查找 154
7.3 索引顺序查找 156
7.4 动态查找 158
7.4.1 二叉排序树的概念和操作 158
7.4.2 平衡二叉树 161
7.4.3 B树和B+树 165
7.5 散列表 167
7.5.1 散列表和散列函数 167
7.5.2 散列函数的构造 168
7.5.3 解决冲突的主要方法 169
7.5.4 散列表的查找和性能分析 171
7.6 应用举例分析 173
本章小结 179
习题七 180
第8章 内部排序 183
8.1 排序的基本概念 183
8.2 简单排序 184
8.2.1 直接插入排序 184
8.2.2 冒泡排序 185
8.2.3 选择排序 187
8.3 高级排序 188
8.3.1 希尔排序 188
8.3.2 快速排序 190
8.3.3 堆排序 192
8.3.4 归并排序 196
8.3.5 基数排序 198
本章小结 201
习题八 201
第9章 实验指导 207
实验一 顺序表的建立与基本操作 207
实验二 链表的操作 208
实验三 栈与队列的基本操作 210
实验四 串的操作与稀疏矩阵的压缩 211
实验五 二叉树的基本操作 212
实验六 树的应用 214
实验七 图的建立与遍历 215
实验八 图的应用 216
实验九 简单内部排序 217
参考文献 221
附录A 各章习题答案 222