ACM/ICPC算法基础训练教程PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:喻梅,于瑞国编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2015
- ISBN:9787302414452
- 页数:404 页
第1章 基础算法 1
1.1 模拟题 1
1.1.1 基本概念 1
1.1.2 例题讲解 1
1.1.3 习题推荐 9
1.2 枚举算法 10
1.2.1 基本概念 10
1.2.2 例题讲解 10
1.2.3 习题推荐 13
1.3 递归算法 13
1.3.1 基本概念 13
1.3.2 例题讲解 14
1.3.3 习题推荐 16
1.4 贪心算法 16
1.4.1 基本概念 16
1.4.2 例题讲解 17
1.4.3 习题推荐 23
1.5 分治算法 24
1.5.1 基本概念 24
1.5.2 例题讲解 24
1.5.3 习题推荐 29
1.6 二分/三分算法 30
1.6.1 基本概念 30
1.6.2 例题讲解 30
1.6.3 习题推荐 33
第2章 数据结构 34
2.1 线性表 34
2.1.1 基本概念 34
2.1.2 基本特征 34
2.2 队列 35
2.2.1 基本概念 35
2.2.2 顺序队列的基本操作 35
2.2.3 循环队列 36
2.2.4 例题讲解 37
2.2.5 习题推荐 40
2.3 栈 40
2.3.1 基本概念 40
2.3.2 基本操作 40
2.3.3 栈的实现 41
2.3.4 栈的应用 42
2.3.5 例题讲解 43
2.3.6 习题推荐 44
2.4 堆 45
2.4.1 基本概念 45
2.4.2 基本操作 45
2.4.3 时间及空间复杂度 47
2.4.4 例题讲解 47
2.4.5 习题推荐 50
2.5 Hash 51
2.5.1 基本概念 51
2.5.2 哈希函数的构造方法 51
2.5.3 处理碰撞的方法 52
2.5.4 例题讲解 52
2.5.5 习题推荐 54
2.6 并查集 54
2.6.1 基本概念 54
2.6.2 基本操作 54
2.6.3 时间及空间复杂度 55
2.6.4 例题讲解 55
2.6.5 习题推荐 57
2.7 树状数组 57
2.7.1 基本概念 57
2.7.2 基本操作 58
2.7.3 时间及空间复杂度 59
2.7.4 例题讲解 59
2.7.5 习题推荐 63
2.8 线段树 63
2.8.1 基本概念 63
2.8.2 线段树中的“懒操作” 64
2.8.3 线段树的基本操作 64
2.8.4 例题讲解 66
2.8.5 习题推荐 69
2.9 最近公共祖先/区间最小值 70
2.9.1 基本概念 70
2.9.2 离线算法Tarjan 70
2.9.3 在线算法 71
2.9.4 RMQ 72
2.9.5 LAC+RMQ在线算法的具体实现 73
2.9.6 例题讲解 74
2.9.7 习题推荐 77
2.10 伸展树 77
2.10.1 基本概念 77
2.10.2 伸展树的基本操作 77
2.10.3 伸展树对区间的操作 81
2.10.4 例题讲解 83
2.10.5 习题推荐 92
2.11 K-Dimensional树 92
2.11.1 基本概念 92
2.11.2 基本思想 92
2.11.3 KD-Tree构建算法 93
2.11.4 例题讲解 95
2.11.5 习题推荐 98
第3章 搜索算法 99
3.1 宽度优先搜索 99
3.1.1 基本概念 99
3.1.2 算法实现 100
3.1.3 例题讲解 101
3.1.4 习题推荐 106
3.2 深度优先搜索 107
3.2.1 基本概念 107
3.2.2 算法实现 107
3.2.3 例题讲解 108
3.2.4 习题推荐 114
3.3 搜索与剪枝 114
3.3.1 基本概念 114
3.3.2 算法实现 114
3.3.3 例题讲解 115
3.3.4 习题推荐 117
3.4 A*算法 117
3.4.1 基本概念 117
3.4.2 算法实现 117
3.4.3 例题讲解 118
3.4.4 习题推荐 125
3.5 迭代加深搜索 125
3.5.1 基本概念 125
3.5.2 算法实现 125
3.5.3 例题讲解 126
3.5.4 习题推荐 132
3.6 双向宽度优先搜索 132
3.6.1 基本概念 132
3.6.2 算法实现 132
3.6.3 例题讲解 133
3.6.4 习题推荐 140
3.7 舞蹈链 140
3.7.1 基本概念 140
3.7.2 算法实现 140
3.7.3 例题讲解 141
3.7.4 习题推荐 146
第4章 图论基础 147
4.1 最小生成树 147
4.1.1 Prim算法 147
4.1.2 Kruskal算法 150
4.2 最短路 152
4.2.1 Dijkstra算法 152
4.2.2 Floyd算法 155
4.2.3 Bellman-Ford算法及SPFA算法 157
4.3 割点/割边 162
4.3.1 基本概念 162
4.3.2 算法实现 162
4.3.3 例题讲解 163
4.3.4 习题推荐 165
4.4 二分图匹配 166
4.4.1 基本概念 166
4.4.2 最大匹配 166
4.4.3 最大权匹配 167
4.4.4 习题推荐 167
4.5 拓扑排序 168
4.5.1 基本概念 168
4.5.2 算法实现 168
4.5.3 习题推荐 168
4.6 欧拉路和欧拉回路 168
4.6.1 基本概念 168
4.6.2 算法实现 169
4.6.3 例题讲解 169
4.6.4 习题推荐 172
4.7 强连通分量和2-SAT问题 172
4.7.1 基本概念 172
4.7.2 算法实现 173
4.7.3 2-SAT问题 174
4.7.4 例题讲解 174
4.7.5 习题推荐 181
第5章 网络流 182
5.1 最大流 182
5.1.1 网络流 182
5.1.2 残余网络与增广路 183
5.1.3 Ford-Fulkerson算法 184
5.1.4 最小割最大流定理 185
5.1.5 Dinic算法 186
5.1.6 例题讲解 191
5.1.7 习题推荐 200
5.2 费用流 200
5.2.1 最小费用流问题 200
5.2.2 最小费用流算法 201
5.2.3 实现代码 201
5.2.4 例题讲解 204
5.2.5 习题推荐 209
5.3 上下界网络流 209
第6章 动态规划算法 211
6.1 背包问题 211
6.1.1 基本概念 211
6.1.2 01背包问题 211
6.1.3 完全背包问题 213
6.1.4 多重背包问题 216
6.1.5 习题推荐 218
6.2 状态压缩 218
6.2.1 基本概念 218
6.2.2 经典旅行商问题 218
6.2.3 插头dp 221
6.2.4 习题推荐 228
6.3 动态规划优化 228
6.3.1 基本概念 228
6.3.2 数据结构优化 228
6.3.3 斜率优化 235
6.3.4 四边形不等式优化 238
6.3.5 习题推荐 240
6.4 常见动态规划题目类型 241
6.4.1 基本概念 241
6.4.2 树形dp 241
6.4.3 RMQ问题 243
6.4.4 有向图最短路 246
6.4.5 最长上升子序列 250
6.4.6 习题推荐 253
第7章 数学基础 254
7.1 组合游戏 254
7.1.1 基本概念 254
7.1.2 Nim游戏与Nim和 255
7.1.3 SG函数与SG定理 257
7.1.4 例题讲解 258
7.1.5 习题推荐 260
7.2 数论 261
7.2.1 基本概念 261
7.2.2 线性同余方程组 268
7.2.3 原根与离散对数 270
7.2.4 习题推荐 275
7.3 组合数学 276
7.3.1 基本计数问题 276
7.3.2 鸽巢原理 276
7.3.3 容斥原理 277
7.3.4 特殊计数数列 277
7.3.5 Pólya计数 279
7.3.6 习题推荐 281
7.4 快速傅里叶变换 281
7.4.1 多项式的表示 281
7.4.2 DFT与FFT算法 282
7.4.3 例题讲解 285
7.5 进一步学习的建议 286
第8章 字符串算法 288
8.1 Hash算法 288
8.1.1 基本概念 288
8.1.2 算法实现 289
8.1.3 例题讲解 290
8.1.4 习题推荐 292
8.2 最小循环表示 292
8.2.1 基本概念 292
8.2.2 算法实现 292
8.2.3 例题讲解 293
8.2.4 习题推荐 295
8.3 Manacher算法 295
8.3.1 基本概念 295
8.3.2 算法实现 295
8.3.3 例题讲解 296
8.3.4 习题推荐 297
8.4 KMP算法 297
8.4.1 基本概念 297
8.4.2 算法实现 298
8.4.3 next数组的性质 299
8.4.4 例题讲解 299
8.4.5 习题推荐 307
8.5 扩展KMP算法 308
8.5.1 基本概念 308
8.5.2 算法实现 308
8.5.3 例题讲解 309
8.5.4 习题推荐 315
8.6 字典树 316
8.6.1 基本概念 316
8.6.2 算法实现 316
8.6.3 例题讲解 317
8.6.4 习题推荐 322
8.7 AC自动机 322
8.7.1 基本概念 322
8.7.2 算法实现 322
8.7.3 AC自动机与动态规划算法的结合 324
8.7.4 例题讲解 324
8.7.5 习题推荐 335
8.8 后缀数组 335
8.8.1 基本概念 335
8.8.2 算法实现 335
8.8.3 后缀数组的使用技巧 339
8.8.4 例题讲解 339
8.8.5 习题推荐 343
8.9 后缀自动机 343
8.9.1 基本概念 343
8.9.2 算法实现 344
8.9.3 后缀自动机与动态规划的结合 346
8.9.4 例题讲解 346
8.9.5 习题推荐 359
第9章 计算几何基础 360
9.1 数学基础知识 360
9.2 向量的基本运算 361
9.2.1 基本概念 361
9.2.2 例题讲解 363
9.2.3 习题推荐 367
9.3 几何元素间的位置关系 368
9.3.1 基本概念 368
9.3.2 例题讲解 372
9.3.3 习题推荐 375
9.4 凸包 376
9.4.1 基本概念 376
9.4.2 例题讲解 377
9.4.3 习题推荐 379
9.5 半平面交 379
9.5.1 基本概念 379
9.5.2 算法实现 380
9.5.3 例题讲解 382
9.5.4 习题推荐 388
9.6 旋转卡壳算法 388
9.6.1 基本概念 388
9.6.2 例题讲解 389
9.7 三维几何 397
9.7.1 基本概念 397
9.7.2 习题推荐 399
9.8 三维凸包 399
9.8.1 基本概念 399
9.8.2 例题讲解 400
9.8.3 习题推荐 403
参考文献 404
- 《市政工程基础》杨岚编著 2009
- 《零基础学会素描》王金著 2019
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《生物质甘油共气化制氢基础研究》赵丽霞 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《花时间 我的第一堂花艺课 插花基础技法篇》(日)花时间编辑部编;陈洁责编;冯莹莹译 2020
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019