作者使用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