这书是浅显易懂的大数据算法教程。全篇选用老师学生会话的方式,致力于用通俗化的語言、轻轻松松的氛围,协助用户了解大数据测算行业中的基本算法和观念。这书由背景图篇、基础理论篇、运用篇和实践篇四一部分构成。背景图篇详细介绍大数据、算法、大数据算法等基本要素和背景图;基础理论篇详细介绍处理大数据难题的亚线形算法、硬盘算法、并行算法、众包算法的基础观念和基础知识;运用篇详细介绍与大数据难题密切相关的大数据挖掘和推荐算法的有关专业知识;实践篇从具体运用去往,正确引导用户动手能力实际操作,协助用户根据具体程序流程和试验认证硬盘算法、并行算法和众包算法。在解读每1个大数据难题以前,这书都是详细介绍很多的經典算法和基本数据结构专业知识,不但能够协助学习培训过数据结构与算法、计算机算法与剖析等课程内容的同学们备考,一起可以让新手入门的“小菜鸟”们,不容易由于沒有学习培训过經典算法而对这书望而生畏,轻轻松松地把握大数据算法!
目录
- 第1 篇 背景篇
- 第1 章 何谓大数据 4
- 1.1 身边的大数据 4
- 1.2 大数据的特点和应用 6
- 第2 章 何谓算法 8
- 2.1 算法的定义 8
- 2.2 算法的分析 14
- 2.3 基础数据结构——线性表 24
- 2.4 递归——以阶乘为例 28
- 第3 章 何谓大数据算法 31
- 第2 篇 理论篇
- 第4 章 窥一斑而见全豹——亚线性算法 34
- 4.1 亚线性算法的定义 34
- 4.2 空间亚线性算法 35
- 4.2.1 水库抽样 35
- 4.2.2 数据流中的频繁元素 37
- 4.3 时间亚线性计算算法 40
- 4.3.1 图论基础回顾 40
- 4.3.2 平面图直径 45
- 4.3.3 最小生成树 46
- 4.4 时间亚线性判定算法 53
- 4.4.1 全0 数组的判定 53
- 4.4.2 数组有序的判定 55
- 第5 章 价钱与性能的平衡——磁盘算法 58
- 5.1 磁盘算法概述 58
- 5.2 外排序 62
- 5.3 外存数据结构——磁盘查找树 71
- 5.3.1 二叉搜索树回顾 71
- 5.3.2 外存数据结构——B 树 78
- 5.3.3 高维外存查找结构——KD 树 80
- 5.4 表排序 83
- 5.5 表排序的应用 86
- 5.5.1 欧拉回路技术 86
- 5.5.2 父子关系判定 87
- 5.5.3 前序计数 88
- 5.6 时间前向处理技术 90
- 5.7 缩图法 98
- 第6 章 1 1>2——并行算法 103
- 6.1 MapReduce 初探 103
- 6.2 MapReduce 算法实例 106
- 6.2.1 字数统计 106
- 6.2.2 平均数计算 108
- 6.2.3 单词共现矩阵计算 111
- 6.3 MapReduce 进阶算法 115
- 6.3.1 join 操作 115
- 6.3.2 MapReduce 图算法概述 122
- 6.3.3 基于路径的图算法 125
- 第7 章 超越MapReduce 的并行计算 131
- 7.1 MapReduce 平台的局限 131
- 7.2 基于图处理平台的并行算法 136
- 7.2.1 概述 136
- 7.2.2 BSP 模型下的单源最短路径 137
- 7.2.3 计算子图同构 141
- 第8 章 众人拾柴火焰高——众包算法 144
- 8.1 众包概述 144
- 8.1.1 众包的定义 144
- 8.1.2 众包应用举例 146
- 8.1.3 众包的特点 149
- 8.2 众包算法例析 152
- 第3 篇 应用篇
- 第9 章 大数据中有黄金——数据挖掘 158
- 9.1 数据挖掘概述 158
- 9.2 数据挖掘的分类 159
- 9.3 聚类算法——k-means 160
- 9.4 分类算法——Naive Bayes 166
- 第10 章 推荐系统 170
- 10.1 推荐系统概述 170
- 10.2 基于内容的推荐方法 173
- 10.3 协同过滤模型 176
- 第4 篇 实践篇
- 第11 章 磁盘算法实践 186
- 第12 章 并行算法实践 194
- 12.1 Hadoop MapReduce 实践 194
- 12.1.1 环境搭建 194
- 12.1.2 配置Hadoop 201
- 12.1.3 “Hello World”程序—— WordCount 203
- 12.1.4 Hadoop 实践案例——记录去重 213
- 12.1.5 Hadoop 实践案例——等值连接 216
- 12.1.6 多机配置 221
- 12.2 适于迭代并行计算的平台——Spark 224
- 12.2.1 Spark 初探 224
- 12.2.2 单词出现行计数 230
- 12.2.3 在Spark 上实现WordCount 236
- 12.2.4 在HDFS 上使用Spark 241
- 12.2.5 Spark 的核心操作——Transformation 和Action 244
- 12.2.6 Spark 实践案例——PageRank 247
- 第13 章 众包算法实践 251
- 13.1 认识AMT 251
- 13.2 成为众包工人 252