目录
目  录

前言

第一篇 历练基本编程能力

第1章 简单计算的编程实验 2

1.1 改进程序书写风格的实验范例 2

1.2 正确处理多个测试用例的实验范例 4

1.3 提高实数精度的实验范例 7

1.4 使用二分法提高计算时效的实验范例 9

1.5 相关题库 13

第2章 简单模拟的编程实验 24

2.1 直叙式模拟的实验范例 24

2.2 筛选法模拟的实验范例 27

2.3 构造法模拟的实验范例 29

2.4 相关题库 31

第3章 递归与回溯的编程实验 38

3.1 计算递归函数的实验范例 39

3.2 求解递归数据的实验范例 40

3.3 用递归算法求解问题的实验范例 42

3.4 回溯法的实验范例 45

3.5 相关题库 54

本篇小结 62

第二篇 线性数据结构的编程实验

第4章 应用直接存取类线性表编程 64

4.1 数组应用的四个典型范例 64

4.2 字符串处理的实验范例 86

4.3 在数组中快速查找指定元素的实验范例 93

4.4 通过数组分块技术优化算法的实验范例 95

4.5 相关题库 98

第5章 应用顺序存取类线性表编程 135

5.1 顺序表应用的实验范例 135

5.2 栈应用的实验范例 141

5.3 队列应用的实验范例 148

5.4 相关题库 164

第6章 应用广义索引类线性表编程 172

6.1 使用词典解题的实验范例 172

6.2 使用散列表与散列技术解题的实验范例 179

6.3 相关题库 190

第7章 线性表排序的编程实验 196

7.1 利用STL中自带的排序功能编程的实验范例 196

7.2 应用排序算法编程的实验范例 202

7.3 相关题库 205

本篇小结 226

第三篇 树的编程实验

第8章 采用树结构的非线性表编程 228

8.1 用树的遍历求解层次性问题的实验范例 228

8.2 用树结构支持并查集的实验范例 237

8.3 用树状数组统计子树权和的实验范例 243

8.4 用四叉树求解二维空间问题的实验范例 248

8.5 相关题库 255

第9章 应用二叉树的基本概念编程 284

9.1 普通有序树转化为二叉树的实验范例 284

9.2 计算二叉树路径的实验范例 287

9.3 通过遍历确定二叉树结构的实验范例 289

9.4 相关题库 292

第10章 应用经典二叉树编程 296

10.1 二叉排序树的实验范例 296

10.2 二叉堆的实验范例 301

10.3 树堆的实验范例 311

10.4 赫夫曼树的实验范例 322

10.5 相关题库 325

本篇小结 341

第四篇 图的编程实验

第11章 应用图的遍历算法编程 344

11.1 BFS算法的实验范例 344

11.2 DFS算法的实验范例 348

11.3 拓扑排序的实验范例 350

11.4 计算无向图的连通性的实验范例 357

11.5 相关题库 365

第12章 应用最小生成树算法编程 387

12.1 Kruskal算法的实验范例 387

12.2 Prim算法的实验范例 390

12.3 相关题库 393

第13章 应用最佳路径算法编程 402

13.1 Warshall算法和Floyd-Warshall算法的实验范例 402

13.2 Dijkstra算法的实验范例 408

13.3 Bellman-Ford算法的实验范例 412

13.4 SPFA的实验范例 417

13.5 相关题库 421

第14章 应用特殊图的经典算法编程 430

14.1 二分图匹配的实验范例 430

14.2 计算网络最大流的实验范例 433

14.3 相关题库 445

第15章 应用状态空间搜索编程 459

15.1 构建状态空间树的实验范例 459

15.2 优化状态空间搜索的实验范例 469

15.3 博弈问题中使用游戏树的实验范例 495

15.4 相关题库 504

本篇小结 515

参考文献 517



按 Ctrl+p 打印本页】【关闭