挑战程序设计竞赛2 算法和数据结构

挑战程序设计竞赛2 算法和数据结构
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [日] ,
2016-09
版次: 1
ISBN: 9787115431615
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 404页
正文语种: 简体中文
原版书名: プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
304人买过
  • 本书分为准备篇、基础篇和应用篇三大部分,借助在线评测系统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
  • 内容简介:
    本书分为准备篇、基础篇和应用篇三大部分,借助在线评测系统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
查看详情
系列丛书 / 更多
挑战程序设计竞赛2 算法和数据结构
机器学习实战
[美]Peter Harrington 著;李锐、李鹏、曲亚东 译
挑战程序设计竞赛2 算法和数据结构
图灵程序设计丛书:Python基础教程
[挪威]Magnus Lie Hetland 著;司维、曾军崴、谭颖华 译
挑战程序设计竞赛2 算法和数据结构
Python编程:从入门到实践
[美]埃里克·马瑟斯(Eric Matthes) 著;袁国忠 译
挑战程序设计竞赛2 算法和数据结构
JavaScript高级程序设计(第3版)
[美]Nicholas C.Zakas 著;李松峰、曹力 译
挑战程序设计竞赛2 算法和数据结构
R语言实战(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著;王小宁、刘撷芯、黄俊文 译
挑战程序设计竞赛2 算法和数据结构
算法(第4版)
[美]Robert、[美]Kevin Wayne 著;谢路云 译
挑战程序设计竞赛2 算法和数据结构
大数据:互联网大规模数据挖掘与分布式处理
[美]Anand、[美]Jeffrey David Ullman 著;王斌 译
挑战程序设计竞赛2 算法和数据结构
Spark快速大数据分析
[美]卡劳(Holden Karau)、[美]肯维尼斯科(Andy Konwinski)、[美]温德尔(Patrick Wendell)、[加拿大]扎哈里亚(Matei Zaharia) 著;王道远 译
挑战程序设计竞赛2 算法和数据结构
MySQL必知必会
[英]福塔(Ben Forta) 著;刘晓霞、钟鸣 译
挑战程序设计竞赛2 算法和数据结构
图解HTTP
[日]上野·宣 著;于均良 译
挑战程序设计竞赛2 算法和数据结构
算法图解
袁国忠 译
挑战程序设计竞赛2 算法和数据结构
Spring Boot实战
[美]克雷格·沃斯(Craig Walls) 著;丁雪丰 译
相关图书 / 更多
挑战程序设计竞赛2 算法和数据结构
挑战古人100天1+2+3传统文化古代历史趣味读物
云葭 后浪
挑战程序设计竞赛2 算法和数据结构
挑战名校压轴题 数学 中考篇 第2版
陈轶
挑战程序设计竞赛2 算法和数据结构
挑战710大学英语四级考试模拟试题集/挑战710系列丛书
李秀明、曾冠冠 编
挑战程序设计竞赛2 算法和数据结构
挑战几何脑(1图形计数)
麦斯思维 编
挑战程序设计竞赛2 算法和数据结构
挑战大脑 穿越时空大冒险(全4册)
马瑞泽;(阿根廷)古斯塔沃·贝纳尔多
挑战程序设计竞赛2 算法和数据结构
挑战性动脉重建100例 国际血管外科译著
[美]萨坎特·辛格·汉斯(Sachinder;Singh;Hans
挑战程序设计竞赛2 算法和数据结构
挑战上海中考150·数学压轴题——真题精讲篇
马学斌
挑战程序设计竞赛2 算法和数据结构
挑战地铁之最:粤港澳大湾区最快地铁建设掠影(中英)
王荃荃 著
挑战程序设计竞赛2 算法和数据结构
挑战几何脑(7圆弧)
麦斯思维 编
挑战程序设计竞赛2 算法和数据结构
挑战机器人王 3 塞博士的编程训练营
陈品芳 译;[韩]葡萄朋友 文;弘钟贤 绘
挑战程序设计竞赛2 算法和数据结构
挑战数独——青少年数独大赛题集
北京市数独运动协会
挑战程序设计竞赛2 算法和数据结构
挑战级 海边的一天/专注力天才玩出来
新天地童书