书籍详情

程序员必会的40种算法

程序员必会的40种算法

作者:[加]伊姆兰·艾哈迈德(Imran Ahmad)

出版社:机械工业出版社

出版时间:2021-09-01

ISBN:9787111690337

定价:¥99.00

购买这本书可以去
内容简介
  本书致力于利用算法求解实际问题。第1部分介绍算法的核心内容,探讨什么是算法、如何设计算法,同时学习在算法中使用的数据结构。重点讲解排序算法、查找算法和求解图问题的算法。第二部分讨论各种机器学习算法,包括无监督机器学习算法和传统有监督学习算法,详细讨论一些自然语言处理算法和推荐引擎。第三部分讨论更高级的算法概念,重点介绍了密码算法和大规模算法。本书还包含一些案例分析(如天气预测、推文聚类和电影推荐引擎),用来说明如何才能更好地应用这些算法。
作者简介
  伊姆兰·艾哈迈德(Imran Ahmad) 是一名经过认证的谷歌讲师,多年来一直在谷歌和学习树(Learning Tree)任教,主要教授Python、机器学习、算法、大数据和深度学习。他在攻读博士学位期间基于线性规划方法提出了名为ATSRA的新算法,用于云计算环境中资源的优化分配。近4年来,他一直在加拿大联邦政府的高级分析实验室参与一个备受关注的机器学习项目。该项目旨在开发机器学习算法,使移民过程自动化。他目前正致力于开发最*地使用GPU来训练复杂的机器学习模型的算法。
目录
译者序
前言
关于作者
关于审校者
部分 基础与核心算法
第1章 算法概述2
1.1 什么是算法2
1.2 描述算法逻辑4
1.2.1 理解伪代码4
1.2.2 使用代码片段6
1.2.3 制定执行计划6
1.3 Python包简介7
1.3.1 Python包8
1.3.2 通过Jupyter Notebook执行Python9
1.4 算法设计技术10
1.4.1 数据维度11
1.4.2 计算维度12
1.5 性能分析13
1.5.1 空间复杂度分析13
1.5.2 时间复杂度分析14
1.5.3 性能评估14
1.5.4 选择算法15
1.5.5 大O记号15
1.6 验证算法19
1.6.1 精确算法、近似算法和随机算法19
1.6.2 可解释性20
1.7 小结20
第2章 算法中的数据结构21
2.1 Python中的数据结构21
2.1.1 列表22
2.1.2 元组26
2.1.3 字典27
2.1.4 集合28
2.1.5 数据帧30
2.1.6 矩阵32
2.2 抽象数据类型33
2.2.1 向量33
2.2.2 栈34
2.2.3 队列36
2.2.4 栈和队列背后的基本思想37
2.2.5 树38
2.3 小结40
第3章 排序算法和查找算法41
3.1 排序算法简介41
3.1.1 在Python中交换变量42
3.1.2 冒泡排序42
3.1.3 插入排序44
3.1.4 归并排序46
3.1.5 希尔排序48
3.1.6 选择排序50
3.2 查找算法简介51
3.2.1 线性查找52
3.2.2 二分查找52
3.2.3 插值查找53
3.3 实际应用54
3.4 小结56
第4章 算法设计57
4.1 算法设计基本概念57
4.1.1 点—所设计算法是否能产生预期的结果58
4.1.2 第二点—所设计算法是否是获取结果的方法58
4.1.3 第三点—所设计算法在更大的数据集上表现如何61
4.2 理解算法策略61
4.2.1 分治策略62
4.2.2 动态规划策略64
4.2.3 贪心算法64
4.3 实际应用—求解TSP65
4.3.1 使用蛮力策略66
4.3.2 使用贪心算法68
4.4 PageRank算法70
4.4.1 问题定义70
4.4.2 实现PageRank算法70
4.5 了解线性规划73
4.6 实例—用线性规划实现产量规划73
4.7 小结76
第5章 图算法77
5.1 图的表示77
5.1.1 图的类型79
5.1.2 特殊类型的边81
5.1.3 自我中心网络82
5.1.4 社交网络分析82
5.2 网络分析理论简介83
5.2.1 理解短路径83
5.2.2 创建邻域84
5.2.3 理解中心性度量85
5.2.4 用Python计算中心性指标87
5.3 理解图的遍历88
5.3.1 广度优先搜索89
5.3.2 深度优先搜索92
5.4 实例—欺诈分析93
5.4.1 进行简单的欺诈分析96
5.4.2 瞭望塔欺诈分析法97
5.5 小结99
第二部分 机器学习算法
第6章 无监督机器学习算法102
6.1 无监督学习简介102
6.1.1 数据挖掘生命周期中的无监督学习103
6.1.2 无监督学习的当前研究趋势105
6.1.3 实例106
6.2 理解聚类算法107
6.2.1 量化相似性107
6.2.2 分层聚类113
6.2.3 评估聚类效果115
6.2.4 聚类算法的应用115
6.3 降维116
6.3.1 主成分分析116
6.3.2 主成分分析的局限性118
6.4 关联规则挖掘119
6.4.1 实例119
6.4.2 市场购物篮分析119
6.4.3 关联规则120
6.4.4 排序规则122
6.4.5 关联分析算法123
6.5 实例—聚类相似推文127
6.5.1 主题建模128
6.5.2 聚类128
6.6 异常检测算法129
6.6.1 基于聚类的异常检测129
6.6.2 基于密度的异常检测129
6.6.3 基于支持向量机的异常检测129
6.7 小结130
第7章 传统监督学习算法131
7.1 理解监督机器学习131
7.1.1 描述监督机器学习132
7.1.2 理解使能条件134
7.1.3 区分分类器和回归器134
7.2 理解分类算法135
7.2.1 分类器挑战性问题135
7.2.2 评估分类器139
7.2.3 分类器的各个阶段142
7.2.4 决策树分类算法143
7.2.5 理解集成方法146
7.2.6 逻辑回归149
7.2.7 支持向量机算法151
7.2.8 理解朴素贝叶斯算法153
7.2.9 各种分类算法的胜者156
7.3 理解回归算法156
7.3.1 回归器挑战性问题156
7.3.2 线性回归158
7.3.3 回归树算法162
7.3.4 梯度提升回归算法163
7.3.5 各种回归算法的胜者163
7.4 实例—预测天气164
7.5 小结166
第8章 神经网络算法167
8.1 理解人工神经网络168
8.2 人工神经网络的演化169
8.3 训练神经网络171
8.3.1 解析神经网络结构171
8.3.2 定义梯度下降172
8.3.3 激活函数173
8.4 工具和框架178
8.4.1 Keras178
8.4.2 理解TensorFlow181
8.4.3 理解神经网络的类型183
8.5 迁移学习185
8.6 实例—用深度学习实现欺诈检测186
8.7 小结189
第9章 自然语言处理算法190
9.1 自然语言处理简介190
猜您喜欢

读书导航