内容简介
算法是利用电脑解决问题的技巧。本书以轻松的对话方式,采用图解的辅助说明,帮助读者简单且自然地掌握算法的基本概念,并养成主动思考的习惯,达到用算法解决实际问题的目的。全书共分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随机算法
参考文献
前言/序言
编写这本书的动机是希望帮助读者简单、轻松地掌握算法的基本概念。因此,本书将不尝试收录所有的算法,同时也不把有限的笔墨用来分析算法的复杂度和对算法进行严格证明。
本书在介绍算法之前,常常会刻意地加入一小段对话,目的是希望通过思辨和讨论,自然地引出算法的直观意义。倘若读者从学习中顺便养成思考的习惯,那就更好了。
作者知识面有限,再加上表达能力不足,如果导致书中仍有无法被读者理解之处,在此向读者致歉。假如您在阅读的过程中惊讶地发现算法之美,在此表示深深的敬意。
作者2017年4月
图解算法 电子书 下载 mobi epub pdf txt