前言 2
第一篇 基本能力的编程实验 2
第1章 简单计算的编程实验 2
1.1改进程序书写风格的实验范例 2
1.2正确处理多组测试数据的实验范例 4
1.3提高实数精度的实验范例 7
1.4使用二分法提高计算时效的实验范例 8
1.5相关题库 13
第2章 简单模拟的编程实验 23
2.1直叙式模拟的实验范例 23
2.2筛选法模拟的实验范例 26
2.3构造法模拟的实验范例 28
2.4相关题库 30
第3章 简单递归的编程实验 36
3.1计算递归函数的实验范例 36
3.2用递归算法求问题解的实验范例 37
3.3求解递归数据的实验范例 40
3.4相关题库 42
本篇小结 46
第二篇 线性数据结构的编程实验 48
第4章 应用直接存取类线性表编程 48
4.1数组应用一:日期计算的实验范例 48
4.2数组应用二:高精度运算的实验范例 54
4.3数组应用三:多项式表示与处理的实验范例 60
4.4数组应用四:数值矩阵运算的实验范例 65
4.5字符串处理一:串的存储结构的实验范例 70
4.6字符串处理二:串模式匹配的实验范例 71
4.7相关题库 77
第5章 应用顺序存取类线性表编程 112
5.1顺序表应用的实验范例 112
5.2栈应用的实验范例 118
5.3队列应用的实验范例 124
5.4相关题库 134
第6章 应用广义索引类线性表编程 141
6.1使用词典解题的实验范例 141
6.2使用散列表与散列方法解题的实验范例 148
6.3相关题库 154
第7章 应用线性表排序编程 160
7.1利用STL中自带的排序功能编程的实验范例 160
7.2应用排序算法编程的实验范例 166
7.3相关题库 169
本篇小结 190
第三篇 层次类非线性表的编程实验 192
第8章 采用树结构的非线性表编程 192
8.1用树的遍历求解层次性问题的实验范例 192
8.2用树结构支持并查集的实验范例 201
8.3用树状数组统计子树权和的实验范例 207
8.4相关题库 211
第9章 应用二叉树的基本概念编程 231
9.1普通有序树转化为二叉树的实验范例 231
9.2计算二叉树路径的实验范例 234
9.3通过遍历确定二叉树结构的实验范例 237
9.4相关题库 239
第10章 应用经典二叉树编程 243
10.1二叉搜索树的实验范例 243
10.2二叉堆的实验范例 248
10.3哈夫曼树的实验范例 259
10.4相关题库 262
本篇小结 275
第四篇 群聚类非线性表的编程实验 278
第11章 应用图的遍历算法编程 278
11.1 BFS算法的实验范例 278
11.2 DFS算法的实验范例 282
11.3拓扑排序的实验范例 285
11.4计算无向图的连通性的实验范例 291
11.5相关题库 299
第12章 应用最小生成树算法编程 327
12.1 Kruskal算法的实验范例 327
12.2 Prim算法的实验范例 330
12.3相关题库 333
第13章 应用最佳路径算法编程 341
13.1 Warshall算法和Floyed-Warshall算法的实验范例 341
13.2 Dijkstra算法的实验范例 347
13.3 Bellman-Ford算法的实验范例 351
13.4 SPFA算法的实验范例 356
13.5相关题库 360
第14章 应用特殊图的经典算法编程 368
14.1二分图匹配的实验范例 368
14.2计算网络最大流的实验范例 371
14.3相关题库 385
本篇小结 396