本书根据数据结构的知识结构,按照循序渐进的原则分四篇(历练基本编程能力、线性数据结构的编程实验、树的编程实验、图的编程实验)15章组织内容。每章为相关数据结构知识提供了大量的实验范例,并且建立了试题库。其中实验范例有88道,每道试题不仅有详尽的解析,还给出了带有详细注释的参考程序;题库有139道试题,所有试题都有清晰的提示。
封面图
目录
- 前言
- 第一篇历练基本编程能力
- 第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.1BFS算法的实验范例344
- 11.2DFS算法的实验范例348
- 11.3拓扑排序的实验范例350
- 11.4计算无向图的连通性的实验范例357
- 11.5相关题库365
- 第12章应用最小生成树算法编程387
- 12.1Kruskal算法的实验范例387
- 12.2Prim算法的实验范例390
- 12.3相关题库393
- 第13章应用最佳路径算法编程402
- 13.1Warshall算法和Floyd-Warshall算法的实验范例402
- 13.2Dijkstra算法的实验范例408
- 13.3Bellman-Ford算法的实验范例412
- 13.4SPFA的实验范例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