作者基于丰富的教学经验,开发了一套对算法进行分类的新方法。这套方法站在通用问题求解策略的高度,能对现有的大多数算法都能进行准确分类,从而使本书的读者能够沿着一条清晰的、一致的、连贯的思路来探索算法设计与分析这一迷人领域。本书作为第2版,相对第1版增加了新的习题,还增加了“迭代改进”一章,使得原来的分类方法更加完善。
本书十分适合作为算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识。
本书采用了一种算法设计技术的新分类方法,不但比传统分类法包容性更强,而且更直观,也更有效,因此广受好评。
这种分类框架条理清晰,契合教育学原理,非常适合算法教学。网上提供了详尽的教学指南供教师和学生下载,书中还为学生安排了习题提示和每章小结。为r提高学习兴趣,书中应用了许多流行的谜题和游戏,需要重点思考的地方则往往会用反问来提醒注意。
第2版特色:
★添加180个新的谜题和习题
★分不同的小节来分析递归算法和非递归算法
★包含算法的经验分析和算法可视化
★对近似算法部分进行了修订
★新增讨论迭代改进算法的章节,内容覆盖单纯形法、网络流量、二分图的最大匹配以及稳定婚姻问题
Preface
1 Introduction
2 Fundamentals of the Analysis of Algorithm Efficiency
3 Brute Force
4 Divide-and-Conquer
5 Decrease-and-Conquer
6 Transform-and-Conquer
7 Space and Time Tradeoffs
8 Dynamic Programming
9 Greedy Technique
10 Iterative Improvement
11 Limitations of Algorithm Power
12 Coping with the Limitations of Algorithm Power Epilogue
APPENDIX A
Useful Formulas for the Analysis of Algorithms
APPENDIX B
Short Tutorial on Recurrence Relations
Bibliography
Hints to Exercises
Index