真实世界的算法:初学者指南

真实世界的算法:初学者指南
作 者: 帕诺斯·卢里达斯 王刚
出版社: 机械工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  作者简介: 帕诺斯·卢里达斯 (Panos Louridas)曼彻斯特大学软件工程博士,现为雅典经济与商业大学管理科学与技术系副教授。在加入高校之前,曾在投资银行担任高级软件工程师。 译者简介: 王刚南开大学计算机学院教授、博士生导师。研究兴趣包括海量信息存储、并行与分布式计算、搜索引擎等。曾翻译多部计算机领域名著,包括《C++程序设计语言)(原书第4版)》《C++程序设计原理与实践(原书第2版)》《C++ Primer(中文版 第5版)》《C++ Primer Plus(第6版 中文版)》《算法导论(原书第3版)》(合译)等。

内容简介

算法的第一本入门书籍,带领你踏上算法学习之路。 算法可以代替我们做许多重复的事情,它由执行任务的指令组成,这些任务通常是枯燥且重复的。从简单的构造块开始,计算机算法使机器能够识别和产生语音、翻译文本、分类和总结文档、描述图像和预测天气。你只要在现代脚本程序中使用几行代码,就可以瞬间完成原本需要耗时数小时才能完成的任务。本书通过真实世界中需要解决的实际问题来介绍算法,这些算法用伪代码表示,可以很容易地用计算机语言实现。 本书介绍的算法简单易懂,避免读者有挫败感。读者仅需具备基本的数学知识并大致了解计算机的工作原理,书中会解释所有其他必要的概念。本书在介绍了伪代码规范、基本术语和数据结构的背景知识之后,讨论了压缩、加密、图、搜索和排序、哈希、分类、字符串和随机等算法。每章都描述了实际问题,然后给出了解决这些问题的算法。示例说明了算法的广泛应用,包括解决段落换行的*短路径、投票系统中的*强路径、歌曲识别的哈希、投票权力的蒙特卡罗方法和机器学习的熵。

图书目录

前言

第1章股票跨度1

11算法2

12运行时间和复杂度5

13使用栈求解股票跨度9

注释13

习题14

第2章探索迷宫15

21图16

22图表示20

23深度优先图遍历25

24宽度优先搜索32

注释35

习题36

第3章压缩算法38

31压缩40

32树和优先队列42

33赫夫曼编码44

34伦佩尔-齐夫-韦尔奇压缩算法50

注释58

习题58

第4章秘密60

41一个解密挑战61

42一次性密码本64

43AES加密67

44迪菲-赫尔曼密钥交换72

45快速模幂运算76

注释79

习题80

第5章秘密分割81

51公钥密码学81

52RSA密码系统83

53消息哈希90

54互联网通信匿名化91

注释95

习题96

第6章排序问题97

61拓扑排序98

62加权图102

63关键路径103

注释108

习题109

第7章行、段落和路径110

71最短路径112

72迪杰斯特拉算法114

注释118

习题119

第8章路由和套利120

81互联网路由122

82Bellman-Ford(-Moore)算法125

83负权重和环130

84套利133

注释135

第9章什么最重要136

91PageRank思想136

92超链接矩阵137

93幂方法139

94Google矩阵142

注释145

第10章投票力147

101投票系统148

102Schulze方法150

103Floyd-Warshall算法158

注释159

第11章蛮力、秘书和二分法160

111顺序搜索160

112匹配、比较、记录和关键字162

113马太效应和幂律163

114自组织搜索167

115秘书问题170

116二分搜索172

117在计算机中表示整数175

118再探二分搜索179

119比较树180

注释183

第12章各种各样的排序算法185

121选择排序185

122插入排序188

123堆排序191

124归并排序197

125快速排序205

126多不胜选210

注释212

习题212

第13章寄存室、鸽巢和桶213

131将关键字映射到值213

132哈希216

133哈希函数218

134浮点数表示和哈希223

135碰撞225

136数字指纹231

137Bloom过滤器235

注释242

习题243

第14章比特和树244

141将占卜看作通信问题244

142信息和熵246

143分类249

144决策树250

145属性选择253

146ID3算法256

147内在机制261

148奥卡姆剃刀法则266

149代价、问题和改进266

注释268

习题269

第15章字符串算法271

151蛮力字符串匹配273

152Knuth-Morris-Pratt算法275

153Boyer-Moore-Horspool算法283

注释288

习题288

第16章听从命运的安排290

161随机数291

162随机抽样296

163权力游戏300

164搜索素数307

注释313

习题314

参考文献315

索引326