商品详情
书名:算法训练营:海量图解+竞赛刷题(入门篇)
定价:129.8
ISBN:9787121414428
作者:陈小玉
版次:第1版
出版时间:2021-07
内容提要:
本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技巧。通过对本书的学习,读者可掌握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
定价:129.8
ISBN:9787121414428
作者:陈小玉
版次:第1版
出版时间:2021-07
内容提要:
本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技巧。通过对本书的学习,读者可掌握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
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺