算法训练营:海量图解+竞赛刷题 (Algorithm Training Camp: Diagrams + Competition Questions - Vol 1+2)

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Author(s): 陈小玉
Publisher: 电子工业出版社
Year: 2021

Language: Chinese
Pages: 1581

总目录
算法训练营:海量图解+竞赛刷题:进阶篇
封面
前折页
版权信息
内容简介
前言
第1章 实用数据结构
1.1 并查集
原理 并查集详解
训练1 畅通工程
训练2 方块栈
训练3 食物链
训练4 帮派
1.2 优先队列
原理1 优先队列的实现原理
原理2 优先队列详解
训练1 第k大的数
训练2 围栏修复
训练3 表演评分
训练4 丛林探险
第2章 区间信息维护与查询
2.1 倍增、ST、RMQ
原理1 倍增
原理2 ST
原理3 RMQ
训练1 区间最值差
训练2 最频繁值
训练3 最小分段数
训练4 二维区间最值差
2.2 最近公共祖先LCA
原理1 暴力搜索法
原理2 树上倍增法
原理3 在线RMQ算法
原理4 Tarjan算法
训练1 最近公共祖先
训练2 树上距离
训练3 距离查询
训练4 城市之间的联系
2.3 树状数组
原理1 一维树状数组
原理2 多维树状数组
训练1 数星星
训练2 公路交叉数
训练3 子树查询
训练4 矩形区域查询
2.4 线段树
原理1 线段树的基本操作
原理2 线段树中的“懒操作”
训练1 敌兵布阵
训练2 简单的整数问题
训练3 数据结构难题
训练4 颜色统计
2.5 分块
原理 分块详解
训练1 简单的整数问题
训练2 数字序列
训练3 区间最值差
训练4 超级马里奥
训练5 序列操作
第3章 字符串处理
3.1 字典树
原理 字典树详解
训练1 单词翻译
训练2 电话表
训练3 统计难题
训练4 彩色的木棒
训练5 最长xor路径
3.2 AC自动机
原理 AC自动机详解
训练1 关键字检索
训练2 病毒侵袭
训练3 DNA序列
训练4 单词情结
3.3 后缀数组
原理1 基数排序
原理2 后缀数组详解
训练1 牛奶模式
训练2 口吃的外星人
训练3 音乐主题
训练4 星际迷航
第4章 树上操作
4.1 点分治
原理 重心分解
训练1 树上两点之间的路径数
训练2 游船之旅
训练3 摩天大树
训练4 查询子树
4.2 边分治
原理 边分治详解
训练1 树上查询I
训练2 树上查询II
训练3 树上两点之间的路径数
4.3 树链剖分
原理 树链剖分详解
训练1 树上距离
训练2 树的统计
训练3 家庭主妇
训练4 树上操作
4.4 动态树
原理 动态树详解
训练1 距离查询
训练2 动态树xor和
训练3 动态树的最值
训练4 动态树的第2大值
训练5 树上操作
第5章 平衡二叉树
5.1 Treap
原理 Treap详解
训练1 双重队列
训练2 普通平衡树
训练3 黑盒子
训练4 少林功夫
5.2 伸展树
原理 伸展树详解
训练1 双重队列
训练2 玩链子
训练3 超强记忆
训练4 循环
5.3 SBT
原理 SBT详解
训练1 双重队列
训练2 第k小的数
训练3 第k大的数
训练4 区间第k小
训练5 郁闷的出纳员
第6章 数据结构进阶
6.1 KD树
原理 KD树详解
训练1 最近的取款机
训练2 找旅馆
训练3 最近邻M点
训练4 蚁巢
6.2 左偏树
原理 左偏树详解
训练1 猴王
训练2 小根堆
训练3 路面修整
训练4 K-单调
6.3 跳跃表
原理 跳跃表详解
训练1 双重队列
训练2 第k大的数
训练3 郁闷的出纳员
6.4 树套树
原理 树套树详解
训练1 动态区间问题
训练2 动态区间第k小
训练3 矩形区域查询
训练4 马赛克处理
6.5 可持久化数据结构
原理1 可持久化线段树详解
原理2 可持久化Trie详解
训练1 超级马里奥
训练2 记忆重现
训练3 最大异或和
第7章 动态规划及其优化
7.1 动态规划求解原理
原理1 动态规划的三个要素
原理2 动态规划设计方法
7.2 背包问题
原理1 01背包
训练1 骨头收藏家
原理2 完全背包
训练2 存钱罐
原理3 多重背包
训练3 硬币
原理4 分组背包
训练4 价值最大化
原理5 混合背包
训练5 最少的硬币
7.3 线性DP
训练1 超级楼梯
训练2 数字三角形
训练3 最长上升子序列
训练4 最长公共子序列
训练5 最大连续子段和
7.4 区间DP
训练1 回文
训练2 括号匹配
训练3 猴子派对
训练4 乘法难题
7.5 树形DP
训练1 别墅派对
训练2 战略游戏
训练3 工人请愿书
训练4 完美的服务
训练5 背包类树形DP
训练6 苹果树
训练7 二次扫描与换根
训练8 最远距离
7.6 数位DP
训练1 不吉利的数字
训练2 定时炸弹
训练3 Round Numbers
训练4 计数问题
训练5 数字权值
7.7 状态压缩DP
训练1 旅行商问题
训练2 旅行商变形1
训练3 旅行商变形2
训练4 玉米田
训练5 炮兵阵地
训练6 马车旅行
7.8 插头DP
训练1 铺砖
训练2 方格取数
训练3 多回路连通性问题
训练4 单回路连通性问题
训练5 单通路连通性问题
7.9 动态规划优化
原理1 倍增优化
原理2 数据结构优化
训练1 最长公共上升子序列
训练2 有序子序列
训练3 最大化器
训练4 洒水装置
原理3 单调队列优化
训练5 滑动窗口
训练6 洒水装置
训练7 股票交易
原理4 斜率优化
训练8 打印文章
训练9 覆盖走道
训练10 批处理调度
训练11 划分
训练12 劳伦斯
原理5 四边不等式优化
训练13 划分
第8章 网络流
8.1 EK算法
原理 EK算法详解
训练1 最大流问题
训练2 排水系统
8.2 Dinic算法
原理 Dinic算法详解
训练1 最大销售量
训练2 电力网络
8.3 ISAP算法
原理 ISAP算法详解
训练1 岛屿运输
训练2 美味佳肴
训练3 跳跃蜥蜴
训练4 计算机工厂
8.4 二分图匹配
原理1 最大匹配算法
原理2 匈牙利算法
训练1 完美的牛棚
训练2 机器调度
训练3 逃脱
8.5 最大流最小割
原理 最大流最小割定理
训练1 最小边割集
训练2 最小点割集
训练3 双核CPU
训练4 最大收益
8.6 最小费用最大流
原理 最小费用路算法
训练1 农场之旅
训练2 航空路线
训练3 区间覆盖
训练4 疏散计划
后折页
封底
算法训练营:海量图解+竞赛刷题(入门篇)
封面
前折页
版权信息
内容简介
前言
第1章 语言基础
1.1 开启算法之旅:hello world!
1.2 常见数据类型及其表达范围
1.3 玩转输入输出
1.4 人生就是不断地选择:if…else
1.5 每天都有很多次重复:for/while
1.6 如何轻松写一个函数
1.7 从前有座山,山里有座庙:递归之法
1.8 信息携带者:定义一个结构体
1.9 巧用数组——好玩贪吃蛇
1.10 玩转字符串——不一样的风格
第2章 算法入门
2.1 算法之美
2.1.1 如何评价一个算法的优劣
2.1.2 算法复杂度的计算方法
2.2 贪心算法
2.2.1 贪心本质
2.2.2 最优装载问题
2.3 分治算法
2.3.1 分治算法秘籍
2.3.2 合并排序
2.3.3 快速排序
2.4 STL应用
2.4.1 vector
训练 间谍
2.4.2 栈
训练 Web导航
2.4.3 queue
训练 骑士移动
2.4.4 list
训练 士兵队列训练
2.4.5 deque
训练 度度熊学队列
2.4.6 priority_queue
训练 黑盒子
2.4.7 bitset
训练 集合运算
2.4.8 set/multiset
训练1 集合合并
训练2 并行处理
2.4.9 map/multimap
训练1 硬木种类
训练2 双重队列
训练3 水果
2.4.10 STL的常用函数
训练1 差的中位数
训练2 中位数
训练3 订单管理
训练4 字谜
第3章 线性表的应用
3.1 顺序表
3.2 单链表
3.3 双向链表
3.4 循环链表
3.5 静态链表
训练1 区块世界
训练2 悲剧文本
训练3 移动盒子
第4章 栈和队列的应用
4.1 顺序栈
4.2 链栈
4.3 顺序队列
4.4 链队列
训练1 括号匹配
训练2 铁轨
训练3 矩阵连乘
训练4 打印队列
训练5 并发模拟器
第5章 树的应用
5.1 树
5.1.1 树的存储
5.1.2 树、森林与二叉树的转换
5.2 二叉树
5.2.1 二叉树的性质
5.2.2 二叉树的存储结构
5.2.3 二叉树的创建
5.3 二叉树遍历
5.3.1 先序遍历
5.3.2 中序遍历
5.3.3 后序遍历
5.3.4 层次遍历
5.3.5 遍历序列还原树
训练1 新二叉树
训练2 还原树
训练3 树
5.4 哈夫曼树
原理 哈夫曼编码
训练1 围栏修复
训练2 信息熵
训练3 转换哈夫曼编码
训练4 可变基哈夫曼编码
第6章 图论基础
6.1 图的存储
6.1.1 邻接矩阵
6.1.2 边集数组
6.1.3 邻接表
6.1.4 链式前向星
训练1 最大的节点
训练2 有向图D和E
训练3 奶牛排序
6.2 图的遍历
6.2.1 广度优先遍历
6.2.2 深度优先遍历
训练1 油田
训练2 理想路径
训练3 骑士的旅程
训练4 抓住那头牛
6.3 图的连通性
6.3.1 连通性的相关知识
6.3.2 Tarjan算法
训练1 电话网络
训练2 道路建设
训练3 图的底部
训练4 校园网络
第7章 图的应用
7.1 最短路径
7.1.1 Dijkstra算法
7.1.2 Floyd算法
7.1.3 Bellman-Ford算法
7.1.4 SPFA算法
训练1 重型运输
训练2 货币兑换
训练3 虫洞
训练4 最短路径
7.2 最小生成树
7.2.1 Prim算法
7.2.2 Kruskal算法
训练1 丛林之路
训练2 联网
训练3 空间站
训练4 道路建设
7.3 拓扑排序
原理 拓扑排序
训练1 家族树
训练2 全排序
训练3 标签球
训练4 秩序
7.4 关键路径
原理 关键路径
训练1 关键路径
训练2 指令安排
训练3 家务琐事
训练4 免费DIY之旅
训练5 游戏玩家
第8章 查找算法
8.1 哈希表
8.1.1 散列函数
8.1.2 处理冲突的方法
8.1.3 散列查找及性能分析
训练1 雪花
训练2 公式
训练3 正方形
8.2 字符串模式匹配
8.2.1 BF算法
8.2.2 KMP算法
训练1 统计单词数
训练2 KMP字符串匹配
8.3 二叉查找树
原理 二叉查找树详解
训练1 落叶
训练2 完全二叉搜索树
训练3 硬木种类
训练4 二叉搜索树
8.4 平衡二叉树
原理 AVL树详解
训练1 平衡二叉树
训练2 双重队列
训练3 黑盒子
训练4 硬木种类
第9章 搜索技术
9.1 二分搜索
原理 二分搜索技术
训练1 跳房子游戏
训练2 烘干衣服
训练3 花环
训练4 电缆切割
9.2 深度优先搜索
9.2.1 回溯法
9.2.2 子集树
9.2.3 m叉树
9.2.4 排列树
训练1 魅力手镯
训练2 图的m着色问题
训练3 N皇后问题
9.2.5 DFS+剪枝优化
训练1 数独游戏
训练2 生日蛋糕
训练3 木棒
9.3 广度优先搜索
9.3.1 分支限界法
9.3.2 队列式广度优先搜索
9.3.3 优先队列式广度优先搜索
训练1 迷宫问题
训练2 加满油箱
9.3.4 嵌套广度优先搜索
训练 推箱子
9.3.5 双向广度优先搜索
训练 魔鬼Ⅱ
9.4 启发式搜索
9.4.1 A*算法
9.4.2 IDA*算法
训练1 八数码
训练2 八数码II
训练3 第K短路
训练4 幂运算
后折页
封底