1.1 Delphi的运行环境 1
1.1.1 Delphi简介 1
1.1.2 Delphi的IDE环境 1
第1章 Delphi简介 1
1.1.3 Delphi程序的编译、运行和调试 3
1.2 Delphi常量 4
1.3 Delphi变量 4
1.4 Delphi类型 5
1.4.1 Delphi预定义类型 5
1.4.2 枚举类型 7
1.4.3 子界类型 7
1.4.4 数组类型 7
1.4.5 字符串类型 8
1.4.7 记录类型 9
1.4.6 集合类型 9
1.4.8 指针类型 10
1.5 Delphi的基本语句 11
1.5.1 赋值语句 11
1.5.2 复合语句 11
1.5.3 分支语句 12
1.5.4 循环语句 12
1.5.5 输入输出语句 14
1.6 Delphi函数与过程 15
1.6.1 函数和过程的调用 15
1.6.2 常用的函数 15
1.6.3 自定义函数和过程 16
1.7 函数的递归 18
1.9 Delphi中使用嵌入汇编 19
1.8 面向对象Object Pascal 19
第2章 基本算法介绍 21
2.1 概述 21
2.2 常用数据结构在Delphi中的实现 21
2.2.1 线性表 21
2.2.2 栈 25
2.2.3 队列 26
2.2.4 二叉树 27
2.2.5 图 30
2.3 枚举算法 33
2.4 回溯算法 35
2.5 贪心算法 37
2.6 分治算法 40
2.7.1 高精度计算 42
2.7 数值计算 42
2.7.2 求解线性方程组 47
2.8 计算几何 50
2.8.1 线段问题 50
2.8.2 凸包问题 51
2.9 模拟题解法 55
第3章 寻找最优解的算法 56
3.1 动态规划 56
3.1.1 动态规划的常用名词 56
3.1.2 最优化原理 57
3.1.3 什么是动态规划 57
3.1.4 动态规划适于解决什么样的问题 58
3.1.5 用动态规划解题的好处 58
3.1.6 动态规划的逆向思维法 58
3.1.7 动态规划的正向思维法 63
3.2 最短路问题 64
3.2.1 有向无环图上的单对顶点间的最短路径问题 65
3.2.2 任意图上的单源最短路径问题 66
3.2.3 任意图上每对顶点间的最短路径问题 73
3.3 搜索算法 74
3.3.1 搜索的基本概念 75
3.3.2 搜索算法的一般模式 75
3.3.3 两种基本的搜索算法 76
3.3.4 搜索算法的优化手段 77
3.3.5 应用搜索算法求解最优化问题 78
3.3.6 广度优先搜索求单位耗散问题最优解的算法 79
3.3.7 广度优先双向搜索 84
3.3.8 最小耗散优先 91
3.3.9 搜索算法的总结 93
4.1 生成字符串 95
第4章 国际大学生程序设计竞赛(ACM/ICPC)试题及分析 95
4.2 模式识别的“中心”问题 100
4.3 划分凸多边形 104
4.4 防卫导弹 106
4.5 邮票问题 110
4.6 骨牌矩阵 113
4.7 师生树 120
4.8 旅游预算 125
4.9 正整数竖式除法 133
4.10 移棋子 138
第5章 习题 149
5.1 习题 149
5.1.1 电子表格(Table) 149
5.1.2 DEL命令(DEL) 150
5.1.3 分割方格(Divide) 151
5.1.4 信息编码(Decode) 152
5.1.5 海上交通控制(Lane) 153
5.1.6 投递最佳路线(Best Deliver) 155
5.1.7 计算机网络连接(Computer Network) 157
5.1.8 联系圈(Circle) 158
5.1.9 球钟(Ball Clock) 159
5.1.10 建筑物(Buildings) 159
5.2 部分习题测试数据及参考答案 160
5.2.1 电子表格(Table) 160
5.2.2 DEL命令(DEL) 163
5.2.3 分割方格(Divide) 164
5.2.4 信息编码(Decode) 168
5.2.5 海上交通控制(Lane) 171
5.2.6 投递最佳路线(Best Deliver) 173
5.2.7 计算机网络连接(Computer Network) 176
5.2.8 联系圈(Circle) 178
5.2.9 球钟(Ball Clock) 181
5.2.10 建筑物(Buildings) 181
第6章 习题解答 185
6.1 电子表格(Table) 185
6.2 DEL命令(DEL) 189
6.3 分割方格(Divide) 194
6.4 信息编码(Decode) 202
6.5 海上交通控制(Lane) 205
6.6 投递最佳路线(Best Deliver) 213
6.7 计算机网络连接(Computer Network) 222
6.8 联系圈(Circle) 226
6.9 球钟(Ball Clock) 229
6.10 建筑物(Buildings) 232
附录 1997-2000年(第22—25届)ACM国际大学生程序设计竞赛(ACM/ICPC)亚洲区预赛成绩 243