内容摘要
本书内容按照算法策略分为7章内容,第1章从算法之美、简单小问题、趣味故事引入算法概念、时间复杂度、空间复杂度的概念和计算方法,以及算法设计的爆炸性增量问题,使读者体验算法的奥妙。第2~7章介绍经典算法的设计策略、实战演练、算法分析及优化拓展,分别讲解贪心算法,分治算法,动态规划,回溯法,分支限界法,线性规划和网络流。每一种算法都有4~10个实例,共50个大型实例,包括经典的构造实例和实际应用实例,按照问题分析、算法设计、完美图解、伪代码详解、实战演练、算法解析及优化拓展的流程,讲解清楚、通俗易懂。附录介绍常见的数据结构及算法改进用到的相关知识,包括sort函数、优先队列、邻接表、并查集、四边不等式、排列树、贝尔曼规则、增广路复杂性计算、最大流最小割定理等。
本书特色
(1)实例丰富,通俗易懂
从有趣的故事引入算法,从简单到复杂,使读者从实例中体会算法设计思想。实例讲解通俗易懂,让学生获得最大程度的启发,锻炼学生分析问题、解决问题的能力。
(2)完美图解,简单有趣
结合大量完美绘图,对算法进行分解剖析,使复杂难懂的问题变得简单有趣,给读者带来巨大阅读乐趣,使读者在阅读中不知不觉地学到算法知识,体会算法的本质。
(3)深入浅出,透析本质
采用伪代码描述算法,既简洁易懂又能抓住本质,算法思想描述及注释使得代码更加通俗易懂。对算法设计的初衷和算法复杂性的分析全面细致,既有逐步得出结论的推导过程,又有直观的绘图展示。
(4)实战演练,循序渐进
每一个算法讲解清楚后,进行实战演练,使读者在实战中体会算法,增强自信,从而提高了读者独立思考,自己动手实践的能力。丰富的练习题和思考题及时检验所学知识掌握情况,为读者从小问题出发,逐步解决大型复杂性问题奠定了基础。
(5)算法解析,优化拓展
每一个实例都进行了详细的算法解析,分析算法的时间复杂度和空间复杂度,并对其优化拓展进一步的论,提出了改进算法并进行伪码讲解和实战演练,最后分析优化算法的复杂度进行对比。使学生在学习算法的基础上更上一个阶梯,对算法优化有更清晰的认识。
(6)网络资源,技术支持
网络提供本书所有范例程序的源代码,练习题以及答案解析,这些源代码可以自由修改编译,以符合自己的需要。提供了源代码执行、调试说明书,对读者所有问题,提供技术支持。
本书提供所有实例源码,在线评测系统及QQ交流群。
源码博客:http://blog.csdn.net/rainchxy
在线评测系统: http://acm.nyist.net/JudgeOnline/problemset.php
QQ交流群:514626235