近年来,Free Pascal语言已替代Turbo Pascal语言成为我国青少年信息学奥林匹克竞赛(NOI)和分区联赛(NOIP)的复赛语言之一。为了适应竞赛的需要,编者们对书中内容进行了修订。第2版中增加了队列、栈、数据结构的综合应用和贪心法4章,所有的例题和习题均能在Free Pascal环境中运行。
这本书的内容共分14章,主要内容包括:数据结构与算法的引入、队列、栈、树、图、数据结构的综合应用、排列和组合、高精度计算、排序法、搜索策略、分治策略、贪心法、动态规划和算法的综合应用等。
本书按照全国青少年信息学奥林匹克竞赛要求编写,立足于Free Pascal程序设计语言的普及和应用。
本书包含数据结构与算法的引入、队列、栈、树、图、数据结构的综合应用、排列和组合、高精度计算、排序法、搜索策略、分治策略、贪心法、动态规划和算法的综合应用等内容,各章配备A、B两级习题,并附习题参考答案。
本书结构严谨,语言简练,可以作为中小学校信息学奥赛的培训用书,也适合读者选作自学资料。
第1章 数据结构与算法的引入
1.1 数据结构的概念
1.2 算法
1.3 建立数学模型
1.4 程序的调试
习题及参考答案
第2章 队列
2.1 线性表的定义及结构
2.2 队列
习题及参考答案
第3章 栈
3.1 栈的定义与基本操作
3.2 栈的存储方式
3.3 栈的应用
习题及参考答案
第4章 树
4.1 树的概念
4.2 二叉树
4.3 树的存储结构
4.4 树的遍历
4.5 最优二叉树
习题及参考答案
第5章 图
5.1 图的概念
5.2 图的遍历
5.3 图的最短路
5.4 最小生成树
5.5 图的应用
习题及参考答案
第6章 数据结构的综合应用
6.1 并查集
6.2 哈希表
6.3 数据结构的综合应用
习题及参考答案
第7章 排列和组合
7.1 加法原理和乘法原理
7.2 排列
7.3 组合
习题及参考答案
第8章 高精度计算
8.1 高精度基本计算
8.2 高精度计算的优化
习题及参考答案
第9章 排序法
9.1 插入排序
9.2 希尔排序
9.3 选择排序
9.4 冒泡排序
9.5 快速排序
9.6 堆排序
9.7 基数排序(多关键字排序)
9.8 各种内部排序方法的比较
习题及参考答案
第10章 搜索策略
10.1 搜索的基本知识
10.2 穷举搜索
10.3 回溯搜索
10.4 广度优先搜索
10.5 分支定界
习题及参考答案
第11章 分治策略
11.1 分治原理
11.2 二分法
11.3 递推法的分治处理
习题及参考答案
第12章 贪心法
12.1 贪心算法思想
12.2 贪心法的典型例题
12.3 贪心法的证明
12.4 贪心法在搜索中的应用
习题及参考答案
第13章 动态规划
13.1 动态规划的基本思想
13.2 动态规划的进一步讨论
13.3 记忆化搜索的应用
习题及参考答案
第14章 算法的综合应用
附录
附录1 编译器开关表
附录2 Free Pascal和Turbo Pascal的主要区别