
总定价:269.60元


| 产品展示 |
| |
| 基本信息 |
| 图书名称: | 算法训练营:海量图解+竞赛刷题(入门篇) |
| 作者: | 陈小玉 |
| 定价: | 129.80 |
| ISBN号: | 9787121414428 |
| 出版社: | 电子工业出版社 |
| 开本: | 16开 |
| 装帧: | 平装 |
| 编辑推荐 |
| |
| 内容介绍 |
| 本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技巧。通过对本书的学习,读者可掌握12种初级数据结构、15种常用STL函数、10种二叉树和图的应用,以及8种搜索技术,并领悟不同的数据结构和算法的精髓,熟练应用各种算法解决实际问题。本书总计9章。第1章讲解C++语言基础,包括语法、函数、递归和数组;第2章讲解算法入门知识,包括算法复杂度计算、贪心算法、分治算法和STL应用;第3章讲解线性表的应用,包括顺序表、单链表、双向链表、循环链表和静态链表;第4章讲解栈和队列的应用,包括顺序栈、链栈、顺序队列和链队列;第5章讲解树的应用,包括树的存储、二叉树遍历与还原、哈夫曼编码;第6章讲解图论基础,包括图的存储、图的搜索和图的连通性;第7章讲解图的应用,包括最短路径、最小生成树、拓扑排序和关键路径;第8章讲解查找算法,包括哈希表、字符串模式匹配、二叉搜索树和平衡二叉树;第9章讲解搜索技术,包括二分搜索、深度优先搜索、广度优先搜索和启发式搜索。本书面向对算法感兴趣的读者,无论是想扎实内功或参加算法竞赛的学生,还是想进入名企的学生、求职者,抑或是想提升技术的在职人员,都可以参考本书。若读者想学习数据结构与算法方面的进阶知识,则可参考《算法训练营:海量图解+竞赛刷题(进阶篇)》。 |
| 作者介绍 |
| 陈小玉 高级程序员,主要研究方向为算法优化和机器学习。出版著作有《趣学算法》《趣学数据结构》《算法训练营:海量图解+竞赛刷题(入门篇)》《算法训练营:海量图解+竞赛刷题(进阶篇)》,所教学生多次获得ACM、蓝桥杯等算法竞赛奖项。 |
| 目录 |
| 目录 第1章 语言基础 1 1.1 开启算法之旅:hello world! 1 1.2 常见数据类型及其表达范围 2 1.3 玩转输入输出 2 1.4 人生就是不断地选择:if…else 9 1.5 每天都有很多次重复:for/while 13 1.6 如何轻松写一个函数 20 1.7 从前有座山,山里有座庙:递归之法 25 1.8 信息携带者:定义一个结构体 29 1.9 巧用数组――好玩贪吃蛇 31 1.10 玩转字符串――不一样的风格 37 第2章 算法入门 42 2.1 算法之美 42 2.1.1 如何评价一个算法的优劣 42 2.1.2 算法复杂度的计算方法 45 2.2 贪心算法 48 2.2.1 贪心本质 48 2.2.2 最优装载问题 49 2.3 分治算法 51 2.3.1 分治算法秘籍 51 2.3.2 合并排序 51 2.3.3 快速排序 57 2.4 STL应用 65 2.4.1 vector 65 训练1 间谍 67 2.4.2 栈 68 训练2 Web导航 69 2.4.3 queue 75 训练3 骑士移动 75 2.4.4 list 77 训练4 士兵队列训练 78 2.4.5 deque 79 训练5 度度熊学队列 80 2.4.6 priority_queue 82 训练6 黑盒子 83 2.4.7 bitset 85 训练7 集合运算 88 2.4.8 set/multiset 90 训练8 集合合并 91 训练9 并行处理 92 2.4.9 map/multimap 94 训练10 硬木种类 96 训练11 双重队列 97 训练12 水果 99 2.4.10 STL的常用函数 100 训练13 差的中位数 106 训练14 中位数 109 训练15 订单管理 109 训练16 字谜 110 第3章 线性表的应用 113 3.1 顺序表 113 3.2 单链表 117 3.3 双向链表 120 3.4 循环链表 123 3.5 静态链表 124 训练1 区块世界 127 训练2 悲剧文本 133 训练3 移动盒子 134 第4章 栈和队列的应用 141 4.1 顺序栈 141 4.2 链栈 144 4.3 顺序队列 147 4.4 链队列 156 训练1 括号匹配 159 训练2 铁轨 161 训练3 矩阵连乘 165 训练4 打印队列 169 训练5 并发模拟器 172 第5章 树的应用 188 5.1 树 188 5.1.1 树的存储 191 5.1.2 树、森林与二叉树的转换 194 5.2 二叉树 195 5.2.1 二叉树的性质 196 5.2.2 二叉树的存储结构 201 5.2.3 二叉树的创建 203 5.3 二叉树遍历 211 5.3.1 先序遍历 211 5.3.2 中序遍历 215 5.3.3 后序遍历 218 5.3.4 层次遍历 222 5.3.5 遍历序列还原树 225 训练1 新二叉树 229 训练2 还原树 230 训练3 树 231 5.4 哈夫曼树 233 原理 哈夫曼编码 233 训练1 围栏修复 246 训练2 信息熵 247 训练3 转换哈夫曼编码 249 训练4 可变基哈夫曼编码 252 第6章 图论基础 257 6.1 图的存储 258 6.1.1 邻接矩阵 258 6.1.2 边集数组 264 6.1.3 邻接表 264 6.1.4 链式前向星 272 训练1 图的遍历 275 训练2 有向图D和E 277 训练3 奶牛排序 279 6.2 图的搜索 280 6.2.1 广度优先搜索 280 6.2.2 深度优先搜索 284 训练1 油田 288 训练2 理想路径 291 训练3 骑士的旅程 294 训练4 抓住那头牛 296 6.3 图的连通性 299 6.3.1 连通性的相关知识 299 6.3.2 Tarjan算法 303 训练1 电话网络 307 训练2 道路建设 309 训练3 图的底部 312 训练4 校园网络 314 第7章 图的应用 317 7.1 最短路径 317 7.1.1 Dijkstra算法 317 7.1.2 Floyd算法 323 7.1.3 Bellman-Ford算法 327 7.1.4 SPFA算法 329 训练1 重型运输 330 训练2 货币兑换 332 训练3 虫洞 333 训练4 最短路径 336 7.2 最小生成树 337 7.2.1 Prim算法 338 7.2.2 Kruskal算法 347 训练1 丛林之路 352 训练2 联网 353 训练3 空间站 355 训练4 道路建设 357 7.3 拓扑排序 359 原理 拓扑排序 359 训练1 家族树 363 训练2 全排序 365 训练3 标签球 367 训练4 秩序 370 7.4 关键路径 372 原理 关键路径 372 训练1 关键路径 381 训练2 指令安排 383 训练3 家务琐事 385 训练4 免费DIY之旅 386 训练5 游戏玩家 389 第8章 查找算法 392 8.1 哈希表 392 8.1.1 散列函数 393 8.1.2 处理冲突的方法 395 8.1.3 散列查找及性能分析 405 训练1 雪花 407 训练2 公式 408 训练3 正方形 410 8.2 字符串模式匹配 412 8.2.1 BF算法 413 8.2.2 KMP算法 416 训练1 统计单词数 422 训练2 KMP字符串匹配 424 8.3 二叉查找树 425 原理 二叉查找树详解 425 训练1 落叶 437 训练2 完全二叉搜索树 440 训练3 硬木种类 442 训练4 二叉搜索树 443 8.4 平衡二叉树 445 原理 AVL树详解 446 训练1 平衡二叉树 459 训练2 双重队列 462 训练3 黑盒子 465 训练4 硬木种类 466 第9章 搜索技术 467 9.1 二分搜索 467 原理 二分搜索技术 467 训练1 跳房子游戏 472 训练2 烘干衣服 476 训练3 花环 478 训练4 电缆切割 480 9.2 深度优先搜索 481 9.2.1 回溯法 481 9.2.2 子集树 484 9.2.3 m叉树 492 9.2.4 排列树 500 训练1 魅力手镯 516 训练2 图的m着色问题 517 训练3 N皇后问题 518 9.2.5 DFS+剪枝优化 518 训练4 数独游戏 519 训练5 生日蛋糕 522 训练6 木棒 523 9.3 广度优先搜索 525 9.3.1 分支限界法 526 9.3.2 队列式广度优先搜索 526 9.3.3 优先队列式广度优先搜索 536 训练1 迷宫问题 542 训练2 加满油箱 543 9.3.4 嵌套广度优先搜索 547 训练3 推箱子 547 9.3.5 双向广度优先搜索 550 训练4 魔鬼Ⅱ 550 9.4 启发式搜索 553 9.4.1 A*算法 553 9.4.2 IDA*算法 554 训练1 八数码 554 训练2 八数码II 564 训练3 第K短路 567 训练4 幂运算 569 |

| 产品展示 |
| |
| 基本信息 |
| 图书名称: | 算法训练营:海量图解+竞赛刷题(进阶篇) |
| 作者: | 陈小玉 |
| 定价: | 139.80 |
| ISBN号: | 9787121408861 |
| 出版社: | 电子工业出版社 |
| 开本: | 16开 |
| 装帧: | 平塑勒口 |
| 编辑推荐 |
| |
| 内容介绍 |
| 本书以海量图解的形式,详细讲解常用的数据结构与算法,并结合竞赛实例引导读者进行刷题实战。通过对本书的学习,读者将掌握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章讲解网络流问题,包括常用网络流算法、二分图最大匹配、最大流最小割定理和最小费用最大流。本书对每个算法都进行详细图解并搭配竞赛实例,重点讲解如何分析问题、优化算法,以期读者在短时间内掌握该算法并进行刷题实战。 |
| 作者介绍 |
| 陈小玉 南阳理工学院副教授,高级程序员,主要研究方向为算法优化和机器学习。出版著作有《趣学算法》《趣学数据结构》《算法训练营:海量图解+竞赛刷题(入门篇)》《算法训练营:海量图解+竞赛刷题(进阶篇)》,所教学生多次获得ACM、蓝桥杯等算法竞赛奖项。 |
| 目录 |
| 第1章 实用数据结构 1 1.1 并查集 1 原理 并查集详解 1 训练1 畅通工程 6 训练2 方块栈 7 训练3 食物链 10 训练4 帮派 16 1.2 优先队列 19 原理1 优先队列的实现原理 19 原理2 优先队列详解 23 训练1 第k大的数 26 训练2 围栏修复 27 训练3 表演评分 29 训练4 丛林探险 30 第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 序列操作 111 第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 星际迷航 175 第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 树上操作 261 第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 郁闷的出纳员 336 第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 最大异或和 424 第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 划分 590 第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 |
|
|
评论晒单