资源名称:挑战程序设计竞赛2 算法和数据结构 中文pdf

第1部分 [准备篇]攻克程序设计竞赛的学习方法 1

第1章 有效运用在线评测系统 3

1.1 攻克程序设计竞赛的学习方法 3

1.2 什么是在线评测 7

1.3 用户注册 9

1.4 浏览问题 10

1.5 解答问题 12

1.6 个人页面 18

1.7 如何运用本书 19

第2部分 [基础篇]为程序设计竞赛做准备的算法与数据结构 21

第2章 算法与复杂度 23

2.1 算法是什么 23

2.2 问题与算法示例 23

2.3 伪代码 25

2.4 算法的效率 26

2.5 入门问题 28

第3章 初等排序 33

3.1 挑战问题之前——排序 33

3.2 插入排序法 35

3.3 冒泡排序法 40

3.4 选择排序法 44

3.5 稳定排序 48

3.6 希尔排序法 52

第4章 数据结构 57

4.1 挑战问题之前——什么是数据结构 57

4.2 栈 59

4.3 队列 64

4.4 链表 70

4.5 标准库的数据结构 77

4.6 数据结构的应用——计算面积 86

第5章 搜索 89

5.1 挑战问题之前——搜索 89

5.2 线性搜索 91

5.3 二分搜索 94

5.4 散列法 98

5.5 借助标准库搜索 102

5.6 搜索的应用——计算最优解 106

第6章 递归和分治法 109

6.1 挑战问题之前——递归与分治 109

6.2 穷举搜索 111

6.3 科赫曲线 114

第7章 高等排序 119

7.1 归并排序 120

7.2 分割 125

7.3 快速排序 129

7.4 计数排序 133

7.5 利用标准库排序 137

7.6 逆序数 139

7.7 最小成本排序 143

第8章 树 147

8.1 挑战问题之前——树结构 148

8.2 有根树的表达 150

8.3 二叉树的表达 154

8.4 树的遍历 159

8.5 树遍历的应用——树的重建 163

第9章 二叉搜索树 167

9.1 挑战问题之前——二叉搜索树 168

9.2 二叉搜索树——插入 169

9.3 二叉搜索树——搜索 174

9.4 二叉搜索树——删除 177

9.5 通过标准库管理集合 182

第10章 堆 189

10.1 挑战问题之前——堆 190

10.2 完全二叉树 191

10.3 最大/最小堆 193

10.4 优先级队列 197

10.5 通过标准库实现优先级队列 201

第11章 动态规划法 203

……….

资源截图:

挑战程序设计竞赛2 算法和数据结构 中文pdf