高效算法:竞赛、应试与提高必修128例

高效算法:竞赛、应试与提高必修128例

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

旨在探讨如何优化算法效率,详细阐述了经典算法和特殊算法的实现、应用技巧和复杂度验证过程。

内容简介

本书内容由浅入深,能帮助读者快速掌握复杂度适当、正确率高的高效编程方法以及自检、自测技巧,是参加ACM/ICPC、Google Code Jam等国际编程竞赛、备战编程考试、提高编程效率、优化编程方法的参考书目。

作者简介

作者Jill-Jênn Vie,法国高等电力学院博士、算法讲师,担任法国高等师范学院Paris-Saclay团队在ACM竞赛中的算法导师;曾任法国国际编程大赛Prologin主席,并于2014年获Google RISE Award。

章节目录

版权信息

内容提要

译者序

第1章 引言

1.1 编程竞赛

1.1.1 线上学习网站

1.1.2 线上裁判的返回值

1.2 我们的选择:Python

1.3 输入输出

1.3.1 读取标准输入

1.3.2 显示格式

1.4 复杂度

1.5 抽象类型和基本数据结构

1.5.1 栈

1.5.2 字典

1.5.3 队列

1.5.4 优先级队列和最小堆

1.5.5 并查集

1.6 技术

1.6.1 比较

1.6.2 排序

1.6.3 扫描

1.6.4 贪婪算法

1.6.5 动态规划算法

1.6.6 用整数编码集合

1.6.7 二分查找

1.7 建议

1.8 走得更远

第2章 字符串

2.1 易位构词

2.2 T9:9个按键上的文字

2.3 使用字典树进行拼写纠正

2.4 KMP(Knuth-Morris-Pratt)模式匹配算法

2.5 最大边的KMP算法

2.6 字符串的幂

2.7 模式匹配算法:Rabin-Karp算法

2.8 字符串的最长回文子串:Manacher算法

第3章 序列

3.1 网格中的最短路径

3.2 编辑距离(列文斯登距离)

3.3 最长公共子序列

3.4 升序最长子序列

3.5 两位玩家游戏中的必胜策略

第4章 数组

4.1 合并已排序列表

4.2 区间的总和

4.3 区间内的重复内容

4.4 区间的最大总和

4.5 查询区间中的最小值:线段树

4.6 计算区间的总和:树状数组(Fenwick 树)

4.7 有k个独立元素的窗口

第5章 区间

5.1 区间树(线段树)

5.2 区间的并集

5.3 区间的覆盖

第6章 图

6.1 使用Python对图编码

6.2 使用C++或Java对图编码

6.3 隐式图

6.4 深度优先遍历:深度优先算法

6.5 广度优先遍历:广度优先算法

6.6 连通分量

6.7 双连通分量

6.8 拓扑排序

6.9 强连通分量

6.10 可满足性

第7章 图中的环

7.1 欧拉路径

7.2 中国邮差问题

7.3 最小长度上的比率权重环:Karp算法

7.4 单位时间成本最小比率环

7.5 旅行推销员问题

第8章 最短路径

8.1 组合的属性

8.2 权重为0或1的图

8.3 权重为正值或空值的图:Dijkstra算法

8.4 随机权重的图:Bellman-Ford算法

8.5 所有源点-目标顶点对:Floyd-Warshall算法

8.6 网格

8.7 变种问题

8.7.1 无权重图

8.7.2 有向无环图

8.7.3 最长路径

8.7.4 树中的最长路径

8.7.5 最小化弧上权重的路径

8.7.6 顶点有权重的图

8.7.7 令顶点上最大权重最小的路径

8.7.8 所有边都属于一条最短路径

第9章 耦合性和流

9.1 二分图最大匹配

9.2 最大权重的完美匹配:Kuhn-Munkres算法

9.3 无交叉平面匹配

9.4 稳定的婚姻:Gale-Shapley算法

9.5 Ford-Fulkerson最大流算法

9.6 Edmonds-Karp算法的最大流

9.7 Dinic最大流算法

9.8 s-t最小割

9.9 平面图的s-t最小割

9.10 运输问题

9.11 在流和匹配之间化简

9.12 偏序的宽度:Dilworth算法

第10章 树

10.1 哈夫曼编码

10.2 最近的共同祖先

10.3 树中的最长路径

10.4 最小权重生成树:Kruskal算法

第11章 集合

11.1 背包问题

11.2 找零问题

11.3 给定总和值的子集

11.4 k个整数之和

第12章 点和多边形

12.1 凸包问题

12.2 多边形的测量

12.3 最近点对

12.4 简单直线多边形

第13章 长方形

13.1 组成长方形

13.2 网格中的最大正方形

13.3 直方图中的最大长方形

13.4 网格中的最大长方形

13.5 合并长方形

13.6 不相交长方形的合并

第14章 计算

14.1 最大公约数

14.2 贝祖等式

14.3 二项式系数

14.4 快速求幂

14.5 素数

14.6 计算算数表达式

14.7 线性方程组

14.8 矩阵序列相乘

第15章 穷举

15.1 激光路径

15.2 精确覆盖

15.3 数独

15.4 排列枚举

15.5 正确计算

调试工具

参考文献

高效算法:竞赛、应试与提高必修128例是2018年由人民邮电出版社·图灵出品出版,作者[法] Jill-Jênn Vie。

得书感谢您对《高效算法:竞赛、应试与提高必修128例》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
高效睡眠法:如何快速提高睡眠质量 电子书
作者西川有加子身为拥有450年历史、日本知名寝具制造商“昭和西川”的副董事长,从事睡眠工作11年来,参考睡眠科学相关数据,并亲身实测验证归纳出*有效的舒适睡眠法,完成了这本一生实用的睡眠书。作者亲身进行睡眠相关的实验性研究,并将当时的相关研究成果逐一验证,反复实践有效果的方法。虽然她不是医师,也不是科学家,但身为一个久病成良医、自己的痛自己治的专家,更能体会有睡眠困扰的人们的心境,也有能力开出*对
编程竞赛宝典:C++语言和算法入门 电子书
信息学奥赛金牌教练精心之作,算法竞赛宝典。
Office入门与提高 电子书
#写作特色# 从零开始,循序渐进 无论读者是否从事计算机相关行业的工作,是否接触过Word 2016、Excel 2016、PowerPoint 2016,都能从本书中找到学习起点,循序渐进地完成学习过程。 紧贴实际,案例教学 全书内容均以实例为主线,在此基础上适当扩展知识点,真正实现学以致用。 全彩排版,图文并茂 全彩排版既美观大方又能够突出重点、难点。所有实例的每一步操作,均配有对应的插图和注释,以便读者在学习过程中能够直观、清晰地看到操作过程和效果,提高学习效率。 单双混排,超大容量 本书采用单、双栏混排的形式,大大扩充了信息容量,从而在有限的篇幅中为读者奉送了更多的知识和实战案例。 精选秘技,扩展学习 本书在每章以“高手私房菜”的形式为读者提炼了各种高级操作技巧,为知识点的扩展应用提供了思路。 书盘结合,互动教学 本书配套的多媒体教学光盘内容与书中知识紧密结合并互相补充。在多媒体光盘中,我们仿真工作、生活中的真实场景,通过互动教学帮助读者体验实际应用环境,从而全面理解知识点的运用方法。 #超值DVD多媒体教学光盘# 8小时全程同步教学录像 4大资源免费赠送 配套资源库 本书所有案例的素材和结果文件 扩展学习库 《Office 2016快捷键查询手册》 《WordExcelPPT 2016技巧手册》 《电脑维护与故障处理技巧查询手册》 《Excel 函数查询手册》 《移动办公技巧手册》 《网络搜索与下载技巧手册》 《常用五笔编码查询手册》 《电脑技巧查询手册》 教学视频库 Office 2016软件安装教学录像 Windows 10操作系统安装教学录像 7小时Photoshop CC教学录像 12小时电脑选购组装、维护与故障处理教学录像 办公模板库 2000个Word精选文档模板 1800个Excel典型表格模板 1500个PPT精美演示模板
围棋入门与提高 电子书
紧扣围棋基础知识,以棋盘和棋子、基本规则、吃子、连接与分断、死活、行棋手法、布局、定式、杀气、打劫、攻击与防守、收官为12个主题,共二十四讲,分为入门篇与提高篇。入门篇聚焦围棋基础知识的学习与掌握,提高篇聚焦相关知识的训练。《围棋入门与提高》在写法上力求由浅入深、层层递进,既主题分明又融会贯通。因此,阅读本书犹如聆听课堂传授。本书可以帮助读者启迪思维,适合零基础的围棋爱好者。