算法图解
副标题:无
作者: 巴尔加瓦(Aditya Bhargava)
内容简介:
前言
我因为爱好而踏入了编程殿堂。Visual Basic 6 for Dummies
教会了我基础知识,接着我不断阅读,学到的知识也越来越多,但对算法却始终没搞明白。至今我还记得购买第一本算法书后的情景:我琢磨着目录,心想终于要把这些主题搞明白了。但那本书深奥难懂,看了几周后我就放弃了。直到遇到一位优秀的算法教授后,我才认识到这些概念是多么地简单而优雅。
几年前,我撰写了第一篇图解式博文。我是视觉型学习者,对图解式写作风格钟爱有加。从那时候起,我撰写了多篇介绍函数式编程、Git、机器学习和并发的图解式博文。顺便说一句,刚开始我的写作水平很一般。诠释技术概念很难,设计出好的示例需要时间,阐释难以理解的概念也需要时间,因此很容易对难讲的内容一带而过。我本以为自己已经做得相当好了,直到有一篇博文大受欢迎,有位同事却跑过来跟我说:“我读了你的博文,但还是没搞懂。”看来在写作方面我要学习的还有很多。
在撰写这些博文期间,Manning出版社找到我,问我想不想编写一本图解式图书。事实证明,Manning出版社的编辑对如何诠释技术概念很在行,他们教会了我如何做。我编写本书的目的就是要把难懂的技术主题说清楚,让这本算法书易于理解。与撰写第一篇博文时相比,我的写作水平有了长足进步,但愿你也认为本书内容丰富、易于理解。
致谢
.....
目录预览:
算法图解 (图灵程序设计丛书)
版权信息
版权声明
前言
致谢
关于本书
路线图
如何阅读本书
读者对象
代码约定和下载
作者在线
第 1 章 算法简介
1.1 引言
1.1.1 性能方面
1.1.2 问题解决技巧
1.2 二分查找
1.2.1 更佳的查找方式
1.2.2 运行时间
1.3 大O表示法
1.3.1 算法的运行时间以不同的速度增加
1.3.2 理解不同的大O运行时间
1.3.3 大O表示法指出了最糟情况下的运行时间
1.3.4 一些常见的大O运行时间
1.3.5 旅行商
1.4 小结
第 2 章 选择排序
2.1 内存的工作原理
2.2 数组和链表
2.2.1 链表
2.2.2 数组
2.2.3 术语
2.2.4 在中间插入
2.2.5 删除
2.3 选择排序
示例代码
2.4 小结
第 3 章 递归
3.1 递归
3.2 基线条件和递归条件
3.3 栈
3.3.1 调用栈
3.3.2 递归调用栈
3.4 小结
第 4 章 快速排序
4.1 分而治之
4.2 快速排序
4.3 再谈大O表示法
4.3.1 比较合并排序和快速排序
4.3.2 平均情况和最糟情况
4.4 小结