新書推薦:
《
穿在身上的历史:世界服饰图鉴(增订珍藏版)
》
售價:HK$
557.8
《
历史的严妆:解读道学阴影下的南宋史学(中华学术·有道)
》
售價:HK$
109.8
《
海外中国研究·江南:中国文雅的源流
》
售價:HK$
76.2
《
迟缓的巨人:“大而不能倒”的反思与人性化转向
》
售價:HK$
77.3
《
我们去往何方:身体、身份和个人价值
》
售價:HK$
67.0
《
大学问·批判的武器:罗莎·卢森堡与同时代思想者的论争
》
售價:HK$
98.6
《
低薪困境:剖析日本经济低迷的根本原因
》
售價:HK$
66.1
《
穷人的银行家(诺贝尔和平奖获得者穆罕默德·尤努斯自传)
》
售價:HK$
76.2
|
編輯推薦: |
1.畅销书《挑战程序设计竞赛》第2弹!
2.网罗算法和数据结构的关键知识点!
3.系统学习基础知识适合初学者的入门书 有效运用在线评测适合挑战者的参考书
4.全书练习均可借助在线评测系统(AIZU ONLINE JUDGE) 与竞赛相同的自动审查系统,有效检测Bug和算法效率 大量习题及往年真题,体验各类题型、总结答题技巧 与世界各地选手相互切磋、共同成长
5.入门、挑战、进阶,享受收集算法的乐趣!
|
內容簡介: |
本书分为准备篇、基础篇和应用篇三大部分,借助在线评测系统Aizu Online Judge以及大量例题,详细讲解了算法与复杂度、初等和高等排序、搜索、递归和分治法、动态规划法、二叉搜索树、堆、图、计算几何学、数论等与程序设计竞赛相关的算法和数据结构,既可以作为挑战程序设计竞赛的参考书,也可以用来引导初学者系统学习算法和数据结构的基础知识。本书适合所有程序设计人员、程序设计竞赛爱好者以及高校计算机专业师生阅读。
|
關於作者: |
渡部有隆(作者)
出生于1979年,计算机理工学博士。会津大学计算机理工学部信息系统学部门副教授。专业领域为可视化编程语言。AIZU ONLINE JUDGE开发者。
Ozy(审校)
本名冈田佑一,出生于日本大阪的短码高手。他花费相当长的时间提升短码编程技术,进而将其发展成一种技能,曾获得程序设计大赛的冠军。他开办过程序设计方面的培训班,目前致力于数学教育和程序设计师的培养工作。曾著有《短码之美:变成达人的心得技法》(人民邮电出版社)。
秋叶拓哉(审校)
2011年考入东京大学研究生院。以iwi的昵称活跃在程序设计竞赛中。TopCoder评级好成绩为世界第四(2013年)。《挑战程序设计竞赛(第2版)》(人民邮电出版社)作者之一。
|
目錄:
|
目录
第1部分 [准备篇]攻克程序设计竞赛的学习方法1
第1章 有效运用在线评测系统3
1.1 攻克程序设计竞赛的学习方法3
1.2 什么是在线评测7
1.3 用户注册9
1.4 浏览问题10
1.5 解答问题12
1.6 个人页面18
1.7 如何运用本书19
第2部分 [基础篇]为程序设计竞赛做准备的算法与数据结构21
第2章 算法与复杂度23
2.1 算法是什么23
2.2 问题与算法示例23
2.3 伪代码25
2.4 算法的效率26
2.5 入门问题28
第3章 初等排序33
3.1 挑战问题之前排序33
3.2 插入排序法35
3.3 冒泡排序法40
3.4 选择排序法44
3.5 稳定排序48
3.6 希尔排序法52
第4章 数据结构57
4.1 挑战问题之前什么是数据结构57
4.2 栈59
4.3 队列64
4.4 链表70
4.5 标准库的数据结构77
4.6 数据结构的应用计算面积86
第5章 搜索89
5.1 挑战问题之前搜索89
5.2 线性搜索91
5.3 二分搜索94
5.4 散列法98
5.5 借助标准库搜索102
5.6 搜索的应用计算最优解106
第6章 递归和分治法109
6.1 挑战问题之前递归与分治109
6.2 穷举搜索111
6.3 科赫曲线114
第7章 高等排序119
7.1 归并排序120
7.2 分割125
7.3 快速排序129
7.4 计数排序133
7.5 利用标准库排序137
7.6 逆序数139
7.7 最小成本排序143
第8章 树147
8.1 挑战问题之前树结构148
8.2 有根树的表达150
8.3 二叉树的表达154
8.4 树的遍历159
8.5 树遍历的应用树的重建163
第9章 二叉搜索树167
9.1 挑战问题之前二叉搜索树168
9.2 二叉搜索树插入169
9.3 二叉搜索树搜索174
9.4 二叉搜索树删除177
9.5 通过标准库管理集合182
第10章 堆189
10.1 挑战问题之前堆190
10.2 完全二叉树191
10.3 最大 最小堆193
10.4 优先级队列197
10.5 通过标准库实现优先级队列201
第11章 动态规划法203
11.1 挑战问题之前动态规划法的概念203
11.2 斐波那契数列204
11.3 最长公共子序列208
11.4 矩阵链乘法211
第12章 图217
12.1 挑战问题之前图218
12.2 图的表示221
12.3 深度优先搜索224
12.4 广度优先搜索232
12.5 连通分量237
第13章 加权图241
13.1 挑战问题之前加权图242
13.2 最小生成树244
13.3 单源最短路径249
第3部分 [应用篇]程序设计竞赛的必备程序库261
第14章 高等数据结构263
14.1 互质的集合264
14.2 范围搜索269
14.3 其他问题278
第15章 高等图算法279
15.1 所有点对间最短路径280
15.2 拓扑排序284
15.3 关节点290
15.4 树的直径295
15.5 最小生成树299
15.6 其他问题303
第16章 计算几何学305
16.1 几何对象的基本元素与表现306
16.2 直线的正交 平行判定312
16.3 投影314
16.4 映象316
16.5 距离317
16.6 逆时针方向321
16.7 判断线段相交324
16.8 线段的交点326
16.9 圆与直线的交点328
16.10 圆与圆的交点331
16.11 点的内包333
16.12 凸包335
16.13 线段相交问题339
16.14 其他问题343
第17章 动态规划法345
17.1 硬币问题346
17.2 背包问题349
17.3 最长递增子序列353
17.4 最大正方形357
17.5 最大长方形360
17.6 其他问题364
第18章 数论367
18.1 质数检验368
18.2 最大公约数372
18.3 幂乘376
18.4 其他问题378
第19章 启发式搜索381
19.1 八皇后问题382
19.2 九宫格拼图386
19.3 十六格拼图391
附录399
通过本书可以获得的技能400
挑战以往的程序设计竞赛真题!402
参考文献404
|
|