第一部分 PASCAL语言程序设计 1
第一章 PASCAL语言基础 1
第一节 程序的组成与上机调试运行 1
第二节 常量、变量与数据类型 3
第三节 表达式与标准函数 6
第四节 赋值语句、输入与输出语句 10
习题 14
第二章 程序的三种基本结构 16
第一节 顺序结构 16
第二节 选择结构 16
第三节 循环结构 19
习题 22
第三章 数组 24
第一节 一维数组 24
第二节 二维数组及应用 28
习题 29
第四章 字符与字符串操作 31
第一节 字符和字符数组 31
第二节 字符串变量 32
第三节 字符串应用举例 34
习题 36
第五章 函数与过程 38
第一节 自定义函数 38
第二节 自定义过程 41
第三节 参数和作用域 44
第四节 递归 46
第五节 递归与回溯 51
习题 56
部分习题解答 59
第六章 记录类型与文件操作 63
第一节 记录 63
第二节 文件操作 66
习题 70
第二部分 数据结构 71
第七章 栈与队列 71
第一节 栈 71
第二节 队列 78
习题 85
习题解答 89
第八章 树结构及其应用 97
第一节 树的概念及其存储 97
第二节 二叉树的概念及其存储 100
第三节 二叉树的遍历和应用 103
习题 111
习题解答 114
第九章 图结构及其应用 122
第一节 图的基本概念 122
第二节 图的存储和遍历 124
第三节 图论算法 129
第四节 典型例题 139
习题 149
习题解答 150
第三部分 基本算法 157
第十章 高精度运算 157
第一节 高精度的基本运算 157
第二节 高精度运算的应用 169
习题 172
习题解答 176
第十一章 排序算法 185
第一节 选择排序 185
第二节 冒泡排序 186
第三节 插入排序 188
第四节 快速排序 189
第五节 堆排序 191
第六节 排序算法的比较 197
第十二章 搜索算法 198
第一节 深度优先搜索的基本框架 198
第二节 深度优先搜索的优化 204
第三节 广度优先搜索及其应用 213
习题 223
习题解答 226
第十三章 动态规划 232
第一节 引例 232
第二节 动态规划的基础 237
第三节 典型例题 240
习题 259
习题解答 262
第十四章 算法设计策略与编程技巧 269
第一节 归纳与递推 269
第二节 分治法 276
第三节 枚举算法 283
第四节 贪心算法 287
第五节 编程技巧与应试策略举例 295
习题 302
习题解答 305
第四部分 高级算法及应用 310
第十五章 并查集 310
第一节 引例 310
第二节 并查集的基本概念及操作 311
第三节 典型例题 315
习题 324
习题解答 326
第十六章 网络流及其应用 330
第一节 网络流的基本概念和最大流算法 330
第二节 网络流例题解析 333
习题 339
习题解答 340
第十七章 构造算法与计算几何 344
第一节 构造算法 344
第二节 计算几何 349
习题 357
习题解答 360
附录一 NOI金牌选手谈信息学奥赛 367
附录二 全国青少年信息学奥林匹克联赛大纲 370
附录三 Pascal运行和编译错误对照表 372
参考文献 376