作者使用Python和图画来解释算法,找了好久才找到PDF版本,末尾附百度云链接~
译者
类别 出版 / 非虚构
出版社人民邮电出版社 / 2017-03
提供方图灵社区
字数约 72,000 字
ISBN9787115447630
作品简介
本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。
Aditya Bhargava,软件工程师,兼具计算机科学和美术方面的教育背景,在adit.io撰写编程方面的博客。
作品目录
-  
前言
 -  
致谢
 -  
关于本书
 -  
第 1 章 算法简介
 -  
1.1 引言
 -  
1.2 二分查找
 -  
1.3 大O表示法
 -  
1.4 小结
 -  
第 2 章 选择排序
 -  
2.1 内存的工作原理
 -  
2.2 数组和链表
 -  
2.3 选择排序
 -  
2.4 小结
 -  
第 3 章 递归
 -  
3.1 递归
 -  
3.2 基线条件和递归条件
 -  
3.3 栈
 -  
3.4 小结
 -  
第 4 章 快速排序
 -  
4.1 分而治之
 -  
4.2 快速排序
 -  
4.3 再谈大O表示法
 -  
4.4 小结
 -  
第 5 章 散列表
 -  
5.1 散列函数
 -  
5.2 应用案例
 -  
5.3 冲突
 -  
5.4 性能
 -  
5.5 小结
 -  
第 6 章 广度优先搜索
 -  
6.1 图简介
 -  
6.2 图是什么
 -  
6.3 广度优先搜索
 -  
6.4 实现图
 -  
6.5 实现算法
 -  
6.6 小结
 -  
第 7 章 狄克斯特拉算法
 -  
7.1 使用狄克斯特拉算法
 -  
7.2 术语
 -  
7.3 换钢琴
 -  
7.4 负权边
 -  
7.5 实现
 -  
7.6 小结
 -  
第 8 章 贪婪算法
 -  
8.1 教室调度问题
 -  
8.2 背包问题
 -  
8.3 集合覆盖问题
 -  
8.4 NP完全问题
 -  
8.5 小结
 -  
第 9 章 动态规划
 -  
9.1 背包问题
 -  
9.2 背包问题FAQ
 -  
9.3 最长公共子串
 -  
9.4 小结
 -  
第 10 章 K最近邻算法
 -  
10.1 橙子还是柚子
 -  
10.2 创建推荐系统
 -  
10.3 机器学习简介
 -  
10.4 小结
 -  
第 11 章 接下来如何做
 -  
11.1 树
 -  
11.2 反向索引
 -  
11.3 傅里叶变换
 -  
11.4 并行算法
 -  
11.5 MapReduce
 -  
11.6 布隆过滤器和HyperLogLog
 -  
11.7 SHA算法
 -  
11.8 局部敏感的散列算法
 -  
11.9 Diffie-Hellman密钥交换
 -  
11.10 线性规划
 -  
11.11 结语
 -  
练习答案
 
百度云链接:https://pan.baidu.com/s/1u1mSc5dGlo-vgbc7zuU2QA&shfl=sharepset 提取码:y0m2
