算法是利用电脑解决问题的技巧。本书以轻松的对话方式,采用图解的辅助说明,帮助读者简单且自然地掌握算法的基本概念,并养成主动思考的习惯,达到用算法解决实际问题的目的。全书共分12章,内容包括一切从观察开始、分而治之法、动态规划、贪婪法、修剪与搜索法、树搜索法、问题转换、图算法、计算几何、算法的难题、逼近算法、*算法等。本书示例丰富,图文并茂,以易于理解的方式阐释算法,帮助程序员在日常项目开发中更好地发挥算法的能量。
目录
- 推荐序
- 前言
- 1一切从观察开始
- 1.1什么是算法
- 1.2汉诺塔问题
- 1.3汉诺塔问题的非递归算法
- 1.4发现算法的技巧
- 学习效果评测
- 2分而治之法
- 2.1何谓分而治之法
- 2.2找出最大值
- 2.3 时间复杂度
- 2.4二维极点问题
- 2.5快速排序法
- 2.6快速排序法的时间复杂度
- 2.7寻找第k小值问题
- 2.8分而治之法的技巧
- 学习效果评测
- 3动态规划
- 3.1何谓动态规划
- 4贪婪法
- 5修剪与搜索法
- 6树搜索法
- 7问题转换
- 8图算法
- 9计算几何
- 10算法的难题
- 11逼近算法
- 12随机算法
- 参考文献