本书由具有丰富编程竞赛经验的作者执笔撰写,荣获日本2021年IT工程师图书特别大奖。作为一本算法和数据结构的入门书,本书内容充实、深入浅出,包含了来自知名编程竞赛平台AtCoder的丰富例题和大量配以详细注释的C 代码片段,不仅系统讲解了常见的各类算法,而且还通过图解、代码和思考题的方式,致力提高读者的算法实践能力和问题解决能力。因此这既是一本入门书,能够激发初学者对算法的兴趣,又是一本注重实践的书,让想成为算法高手的读者可以在深入理解算法和数据结构的基础上,快速掌握编程思维,终身受用。
本书既适合初学算法的读者,也适合希望深入掌握各类实用算法设计技术的读者阅读和参考。
生动图解,化繁为简,让抽象概念一目了然;
实例丰富,深入浅出,让学习过程轻松有趣;
实战演练,学以致用,算法设计技能突飞猛进;
覆盖全面,系统性强,算法与数据结构尽在掌握。
大槻兼资:1988年出生。2014年毕业于东京大学大学院信息理工学系研究科,获得信息理工学硕士学位。目前,他在NTT数据数理系统股份有限公司工作。他在Software Design杂志上连载用拼图锻炼算法能力系列文章。此外,他还在Qiita等平台上进行关于算法主题的普及活动。大槻兼资目前仍然将竞技编程作为一种爱好参与其中。
第1章 算法概述
第2章 计算复杂度和大 O 记法
第3章 设计技巧(1):穷举搜索
第4章 设计技巧(2):递归和分治法
第5章 设计技巧(3):动态规划
第6章 设计技巧(4):二分搜索
第7章 设计技巧(5):贪婪法
第8章 数据结构(1):数组、链表、哈希表
第9章 数据结构(2):栈和队列
第10章 数据结构(3):图与树
第11章 数据结构(4):并查集
第12章 排序
第13章 图(1):图搜索
第14章 图(2):最短路径问题
第15章 图(3):最小生成树问题
第16章 图(4):网络流
第17章 P 与 NP 问题
第18章 难题应对策略
后 记