为了便于读者进行系统学习、分类整理知识点及遇到问题时能够快速找到求解的方法,本书按照算法策略进行划分,每一章都引入了若干个经典问题。通过问题的分析、计算模型的建立、算法的设计与描述、算法的分析来深入解读每一种算法策略所能解决的问题范畴及方法。全书共分9章,内容包括:算法设计基础、算法效率分析基础、迭代法、蛮力法、分治策略、回溯与分支界限、贪心算法、动态规划、随机算法。 本书非常注重教材的可读性和实用性,以问题分析→模型设计→算法设计描述→算法分析为技术线路,帮助读者迅速掌握算法设计要点,规范算法设计、分析及实现的方法。书中例题的问题分析和模型设计模块用于培养读者的抽象设计能力,算法设计模块用于提高读者运用计算机求解问题的能力,算法分析模块用于帮助读者运行用数学工具对算法进行客观分析。同时,本书编写时也考虑到初学者所面临的困难,在算法设计与描述中,刻意增加了基于源代码的程序设计与实现环节,从而全方位地帮助读者提高算法设计与分析实践能力和理论水平。