前言

前言

我因为爱好而踏入了编程殿堂。Visual Basic 6 for Dummies教会了我基础知识,接着我不断阅读,学到的知识也越来越多,但对算法却始终没搞明白。至今我还记得购买第一本算法书后的情景:我琢磨着目录,心想终于要把这些主题搞明白了。但那本书深奥难懂,看了几周后我就放弃了。直到遇到一位优秀的算法教授后,我才认识到这些概念是多么地简单而优雅。

几年前,我撰写了第一篇图解式博文。我是视觉型学习者,对图解式写作风格钟爱有加。从那时候起,我撰写了多篇介绍函数式编程、Git、机器学习和并发的图解式博文。顺便说一句,刚开始我的写作水平很一般。诠释技术概念很难,设计出好的示例需要时间,阐释难以理解的概念也需要时间,因此很容易对难讲的内容一带而过。我本以为自己已经做得相当好了,直到有一篇博文大受欢迎,有位同事却跑过来跟我说:“我读了你的博文,但还是没搞懂。”看来在写作方面我要学习的还有很多。

在撰写这些博文期间,Manning出版社找到我,问我想不想编写一本图解式图书。事实证明,Manning出版社的编辑对如何诠释技术概念很在行,他们教会了我如何做。我编写本书的目的就是要把难懂的技术主题说清楚,让这本算法书易于理解。与撰写第一篇博文时相比,我的写作水平有了长足进步,但愿你也认为本书内容丰富、易于理解。

目录

  • 版权声明
  • 献词
  • 前言
  • 致谢
  • 关于本书
  • 第 1 章 算法简介
  • 第 2 章 选择排序
  • 第 3 章 递归
  • 第 4 章 快速排序
  • 第 5 章 散列表
  • 第 6 章 广度优先搜索
  • 第 7 章 狄克斯特拉算法
  • 第 8 章 贪婪算法
  • 第 9 章 动态规划
  • 第 10 章 K最近邻算法
  • 第 11 章 接下来如何做
  • 练习答案