- ISBN:9787121408861
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:656
- 出版时间:2021-05-01
- 条形码:9787121408861 ; 978-7-121-40886-1
本书特色
适读人群 :本书面向对算法感兴趣的读者,无论是想扎实内功或参加算法竞赛的学生,还是想进入名企的求职者,抑或是想提升技术的在职人员,都可以参考本书内容多:涵盖数据结构、高级数据结构、经典算法 题量大:带您细刷300道竞赛题目 理解易:海量图解,一览算法细微变化 作者棒:已出版多本算法好书。 上手快:通过问题透析本质,通俗易懂,学习体会更轻松
内容简介
本书以海量图解的形式,详细讲解常用的数据结构与算法,并结合竞赛实例引导读者进行刷题实战。通过对本书的学习,读者可掌握22种高级数据结构、7种动态规划算法、5种动态规划优化技巧,以及5种网络流算法,并熟练应用各种算法解决实际问题。 本书总计8章。第1章讲解实用数据结构,包括并查集、优先队列;第2章讲解区间信息维护与查询,包括倍增、ST、RMQ、LCA、树状数组、线段树和分块;第3章讲解字符串处理,包括字典树、AC自动机和后缀数组;第4章讲解树上操作问题,包括点分治、边分治、树链剖分和动态树;第5章讲解各种平衡二叉树,包括Treap、伸展树和SBT;第6章讲解数据结构进阶,包括KD树、左偏树、跳跃表、树套树和可持久化数据结构;第7章讲解动态规划及其优化,包括背包问题、线性DP、区间DP、树形DP、数位DP、状态压缩DP、插头DP和动态规划优化方法;第8章讲解网络流问题,包括常用网络流算法、二分图*da匹配、*da流*xiao割定理和*xiao费用*da流。本书对每个算法都进行详细图解并搭配竞赛实例,重点讲解如何分析问题、优化算法,以期读者在短时间内掌握该算法并进行刷题实战。 本书面向对算法感兴趣的读者,无论是想扎实内功或参加算法竞赛的学生,还是想进入行业领先企业的求职者,抑或是想提升技术的在职人员,都可以参考本书。若读者从未学过数据结构与算法方面的基础知识,则可参考《算法训练营:海量图解+竞赛刷题(入门篇)》。
目录
第1章 实用数据结构... 1
1.1 并查集... 1
原理 并查集详解... 1
训练1 畅通工程
训练2 方块栈... 7
训练3 食物链... 10
训练4 帮派... 16
1.2 优先队列... 19
原理1 优先队列的实现原理... 19
原理2 优先队列详解... 23
训练1 第k大的数... 26
训练2 围栏修复... 27
训练3 表演评分... 29
训练4 丛林探险
第2章 区间信息维护与查询... 33
2.1 倍增、ST、RMQ.. 33
原理1 倍增... 33
原理2 ST. 34
原理3 RMQ.. 36
训练1 区间*值差... 36
训练2 *频繁值... 37
训练3 *小分段数... 40
训练4 二维区间*值差.... 41
2.2 *近公共祖先LCA.. 43
原理1 暴力搜索法... 44
原理2 树上倍增法... 45
原理3 在线RMQ算法... 49
原理4 Tarjan算法... 51
训练1 *近公共祖先... 55
训练2 树上距离... 57
训练3 距离查询... 59
训练4 城市之间的联系... 60
2.3 树状数组... 62
原理1 一维树状数组... 62
原理2 多维树状数组... 67
训练1 数星星... 69
训练2 公路交叉数... 71
训练3 子树查询... 74
训练4 矩形区域查询... 76
2.4 线段树... 78
原理1 线段树的基本操作... 78
原理2 线段树中的“懒操作”... 83
训练1 敌兵布阵... 87
训练2 简单的整数问题... 89
训练3 数据结构难题... 91
训练4 颜色统计... 97
2.5 分块... 102
原理 分块详解... 102
训练1 简单的整数问题... 105
训练2 数字序列... 106
训练3 区间*值差... 107
训练4 超级马里奥... 109
训练5 序列操作
第3章 字符串处理... 115
3.1 字典树... 115
原理 字典树详解... 115
训练1 单词翻译... 120
训练2 电话表... 122
训练3 统计难题... 123
训练4 彩色的木棒... 124
训练5 *长xor路径... 127
3.2 AC自动机... 129
原理 AC自动机详解... 129
训练1 关键字检索... 132
训练2 病毒侵袭... 134
训练3 DNA序列... 136
训练4 单词情结... 140
3.3 后缀数组... 145
原理1 基数排序... 145
原理2 后缀数组详解... 152
训练1 牛奶模式... 169
训练2 口吃的外星人... 171
训练3 音乐主题... 173
训练4 星际迷航
第4章 树上操作... 178
4.1 点分治... 178
原理 重心分解... 178
训练1 树上两点之间的路径数... 179
训练2 游船之旅... 185
训练3 摩天大树... 189
训练4 查询子树... 194
4.2 边分治... 200
原理 边分治详解... 200
训练1 树上查询I 203
训练2 树上查询II 212
训练3 树上两点之间的路径数... 217
4.3 树链剖分... 221
原理 树链剖分详解... 221
训练1 树上距离... 230
训练2 树的统计... 231
训练3 家庭主妇... 232
训练4 树上操作... 233
4.4 动态树... 236
原理 动态树详解... 236
训练1 距离查询... 247
训练2 动态树xor和... 249
训练3 动态树的*值... 252
训练4 动态树的第2大值... 255
训练5 树上操作
第5章 平衡二叉树... 263
5.1 Treap. 263
原理 Treap详解... 263
训练1 双重队列... 270
训练2 普通平衡树... 272
训练3 黑盒子... 276
训练4 少林功夫... 279
5.2 伸展树... 283
原理 伸展树详解... 283
训练1 双重队列... 291
训练2 玩链子... 293
训练3 超强记忆... 300
训练4 循环... 310
5.3 SBT. 324
原理 SBT详解... 324
训练1 双重队列... 331
训练2 第k小的数... 333
训练3 第k大的数... 334
训练4 区间第k小... 334
训练5 郁闷的出纳员
第6章 数据结构进阶... 339
6.1 KD树... 339
原理 KD树详解... 339
训练1 *近的取款机... 343
训练2 找旅馆... 346
训练3 *近邻M点... 348
训练4 蚁巢... 349
6.2 左偏树... 352
原理 左偏树详解... 352
训练1 猴王... 360
训练2 小根堆... 363
训练3 路面修整... 365
训练4 K-单调... 369
6.3 跳跃表... 373
原理 跳跃表详解... 373
训练1 双重队列... 379
训练2 第k大的数... 381
训练3 郁闷的出纳员... 386
6.4 树套树... 388
原理 树套树详解... 388
训练1 动态区间问题... 389
训练2 动态区间第k小... 395
训练3 矩形区域查询... 396
训练4 马赛克处理... 400
6.5 可持久化数据结构... 406
原理1 可持久化线段树详解... 406
原理2 可持久化Trie详解... 413
训练1 超级马里奥... 415
训练2 记忆重现... 419
训练3 *大异或和
第7章 动态规划及其优化... 431
7.1 动态规划求解原理... 431
原理1 动态规划的三个要素... 432
原理2 动态规划设计方法... 432
7.2 背包问题... 433
原理1 01背包... 433
训练1 骨头收藏家... 441
原理2 完全背包... 443
训练2 存钱罐... 443
原理3 多重背包... 445
训练3 硬币... 447
原理4 分组背包... 449
训练4 价值*大化... 450
原理5 混合背包... 452
训练5 *少的硬币... 452
7.3 线性DP. 455
训练1 超级楼梯... 455
训练2 数字三角形... 456
训练3 *长上升子序列... 458
训练4 *长公共子序列... 461
训练5 *大连续子段和... 462
7.4 区间DP. 464
训练1 回文... 464
训练2 括号匹配... 466
训练3 猴子派对... 468
训练4 乘法难题... 470
7.5 树形DP. 472
训练1 别墅派对... 473
训练2 战略游戏... 476
训练3 工人请愿书... 478
训练4 完美的服务... 480
训练5 背包类树形DP. 484
训练6 苹果树... 487
训练7 二次扫描与换根... 490
训练8 *远距离... 494
7.6 数位DP. 497
训练1 不吉利的数字... 498
训练2 定时炸弹... 503
训练3 Round Numbers. 506
训练4 计数问题... 508
训练5 数字权值... 511
7.7 状态压缩DP. 513
训练1 旅行商问题... 514
训练2 旅行商变形1. 520
训练3 旅行商变形2. 521
训练4 玉米田... 523
训练5 炮兵阵地... 525
训练6 马车旅行... 528
7.8 插头DP. 531
训练1 铺砖... 531
训练2 方格取数... 537
训练3 多回路连通性问题... 539
训练4 单回路连通性问题... 543
训练5 单通路连通性问题... 550
7.9 动态规划优化... 552
原理1 倍增优化... 552
原理2 数据结构优化... 552
训练1 *长公共上升子序列... 552
训练2 有序子序列... 554
训练3 *大化器... 557
训练4 洒水装置... 559
原理3 单调队列优化... 562
训练5 滑动窗口... 563
训练6 洒水装置... 564
训练7 股票交易... 565
原理4 斜率优化... 568
训练8 打印文章... 569
训练9 覆盖走道... 573
训练10 批处理调度... 575
训练11 划分... 580
训练12 劳伦斯... 583
原理5 四边不等式优化... 587
训练13 划分
第8章 网络流... 592
8.1 EK算法... 595
原理 EK算法详解... 595
训练1 *大流问题... 600
训练2 排水系统... 600
8.2 Dinic算法... 601
原理 Dinic算法详解... 601
训练1 *大销售量... 605
训练2 电力网络.... 606
8.3 ISAP算法... 608
原理 ISAP算法详解... 608
训练1 岛屿运输... 613
训练2 美味佳肴... 614
训练3 跳跃蜥蜴... 615
训练4 计算机工厂... 618
8.4 二分图匹配... 619
原理1 *大匹配算法... 620
原理2 匈牙利算法... 621
训练1 完美的牛棚... 624
训练2 机器调度... 625
训练3 逃脱... 626
8.5 *大流*小割... 627
原理 *大流*小割定理... 627
训练1 *小边割集... 629
训练2 *小点割集... 631
训练3 双核CPU.. 632
训练4 *大收益... 633
8.6 *小费用*大流... 635
原理 *小费用路算法... 635
训练1 农场之旅... 639
训练2 航空路线... 640
训练3 区间覆盖... 642
训练4 疏散计划... 643
作者简介
陈小玉 南阳理工学院副教授,高级程序员,主要研究方向为算法优化和机器学习。出版著作有《趣学算法》《趣学数据结构》《算法训练营:海量图解+竞赛刷题(入门篇)》《算法训练营:海量图解+竞赛刷题(进阶篇)》,所教学生多次获得ACM、蓝桥杯等算法竞赛奖项。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0