第一篇 习题解析 2
第1章 绪论习题解析 2
第2章 线性表习题解析 8
第3章 栈和队列习题解析 16
第4章 串习题解析 26
第5章 数组与广义表习题解析 35
第6章 树与二叉树习题解析 47
第7章 图习题解析 65
第8章 查找习题解析 86
第9章 排序习题解析 105
第二篇 算法上机实现 124
第10章 线性表算法上机实现 124
10.1顺序表基本运算 124
10.2在表头插入生成单链表 126
10.3在表尾插入生成单链表 127
10.4单链表基本运算 129
10.5双向链表基本运算 132
10.6静态链表 136
10.7例2.1算法实现 139
10.8例2.2算法实现 140
10.9例2.3算法实现 142
10.10例2.4算法实现 144
10.11例2.5算法实现 146
第11章 栈和队列算法上机实现 148
11.1顺序栈基本运算 148
11.2链栈基本运算 150
11.3循环队列基本运算 152
11.4链队列基本运算 154
11.5例3.1算法实现 156
11.6例3.5算法实现 159
第12章 串算法上机实现 163
12.1顺序串基本运算 163
12.2生成链串与求串长、串连接运算 165
12.3链串中求子串运算 167
12.4链串中串插入运算 169
12.5串的简单模式匹配 171
12.6串的无回溯KMP匹配 172
第13章 数组与广义表算法上机实现 175
13.1矩阵转置 175
13.2矩阵的快速转置 178
13.3稀疏矩阵的十字链表存储 180
13.4生成广义表及求广义表长度和深度运算 183
第14章 树与二叉树算法上机实现 190
14.1二叉树的遍历 190
14.2二叉树的非递归遍历 192
14.3另一种后序非递归遍历二叉树的方法 195
14.4按层次遍历二叉树 197
14.5由二叉树的遍历序列恢复二叉树 200
14.6二叉树遍历的应用 202
14.7中序线索二叉树 205
14.8哈夫曼树及哈夫曼编码 208
14.9例6.4算法实现 212
第15章 图算法上机实现 214
15.1建立无向图的邻接矩阵 214
15.2图的深度优先搜索 216
15.3图的广度优先搜索 218
15.4图的连通性 222
15.5深度优先生成树 225
15.6广度优先生成树 227
15.7最小生成树的Prim算法 231
15.8最小生成树的Kruskal算法 233
15.9单源点最短路径的Dijkstra算法 235
15.10每一对顶点间最短路径的Floyd算法 237
15.11拓扑排序 239
15.12关键路径 242
第16章 查找算法上机实现 249
16.1顺序查找 249
16.2折半(二分)查找 250
16.3分块查找 251
16.4二叉排序树建立、结点的查找和删除 253
16.5平衡二叉树的建立、结点的查找和删除 257
16.6哈希(Hash)查找 264
第17章 排序算法上机实现 268
17.1插入排序 268
17.2折半插入排序 269
17.3希尔(Shell)排序 270
17.4冒泡排序 272
17.5双向冒泡排序 274
17.6快速排序 275
17.7选择排序 277
17.8堆排序 278
17.9归并排序的递归算法实现 280
17.10归并排序的非递归算法实现 281
17.11基数排序 283
参考文献 287