目录 1
第1章 数据结构与算法的引入 1
1.1 数据结构的概念 2
1.2 算法 10
1.3 建立数学模型 17
1.4 程序的调试 20
习题及参考答案 22
2.1 指针变量的定义及基本使用 27
第2章 指针和动态数据结构 27
2.2 链表 31
习题及参考答案 43
第3章 文件 53
3.1 文本文件的逻辑组织 53
3.2 文本文件的基本操作 54
3.3 文本文件应用举例 59
习题及参考答案 61
4.1 树的概念 65
第4章 树 65
4.2 二叉树 67
4.3 树的存储结构 71
4.4 树的遍历 75
4.5 最优二叉树 80
习题及参考答案 83
第5章 图 87
5.1 图的概念 87
5.2 图的遍历 89
5.3 图的最短路 91
5.4 最小生成树 104
5.5 图的应用 108
习题及参考答案 113
第6章 排列和组合 119
6.1 加法原理和乘法原理 119
6.2 排列 120
6.3 组合 127
习题及参考答案 130
第7章 高精度计算 133
7.1 高精度基本计算 133
7.2 高精度计算的优化 137
习题及参考答案 139
第8章 排序法 143
8.1 插入排序 144
8.2 希尔排序 146
8.3 选择排序 147
8.4 冒泡排序 149
8.5 快速排序 151
8.6 堆排序 154
8.7 基数排序(多关键字排序) 158
8.8 各种内部排序方法的比较 161
习题及参考答案 162
第9章 搜索策略 165
9.1 搜索的基本知识 165
9.2 穷举搜索 167
9.3 回溯搜索 171
9.5 分支定界 178
9.4 广度优先搜索 178
习题及参考答案 183
第10章 分治策略 186
10.1 分治原理 186
10.2 二分法 192
10.3 递推法的分治处理 197
习题及参考答案 200
11.1 动态规划的基本思想 204
第11章 动态规划 204
11.2 动态规划的进一步讨论 212
11.3 记忆化搜索的应用 224
习题及参考答案 227
第12章 算法的综合应用 232
附录 254
附录1 编译器开关表 254
附录2 Free Pascal和Turbo Pascal的主要区别 257