现代算法设计与分析

现代算法设计与分析
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [印] (Sandeep Sen) , [印]
2021-06
版次: 1
ISBN: 9787111679554
定价: 99.00
装帧: 其他
开本: 16开
纸张: 胶版纸
字数: 395千字
2人买过
  • 本书不仅讲解传统的算法设计策略和技巧,而且关注算法领域不断涌现的新概念、新方法和新应用,帮助读者把握技术热点及发展趋势。书中引入了降维技术、并行算法、随机算法、层次化存储结构算法和流算法等新内容,大量使用概率分析和随机化技术,并包含众多新颖的示例,特别是强调计算模型和计算环境,不再局限于理想化的随机存取机模型。全书内容简洁明快,并配有丰富的习题和拓展阅读资料,适合作为高等院校计算机相关专业的教材,也适合业界技术人员阅读参考。 ---作者简介---

    桑迪普?森(Sandeep Sen) 印度理工学院德里分校计算机科学与工程系教授,印度国家科学院院士,印度科学院院士,研究领域包括随机算法、计算几何、动态图算法和计算模型等。曾在IBM研究实验室、微软研究实验室、北卡罗莱纳大学教堂山分校等机构担任访问研究员。

    阿米特?库玛尔(Amit Kumar) 印度理工学院德里分校计算机科学与工程系教授,印度科学院院士,研究领域包括组合优化、调度、图论和聚类等。曾任职于贝尔实验室,并曾在微软印度研究院和IBM印度研究院担任访问教授。曾荣获2018年印度Shanti Swarup Bhtanagar数学科学奖。

    ---译者简介---

    刘铎  于清华大学计算机科学与技术系获工学博士学位,现为北京交通大学软件学院副教授。主要研究方向为应用密码学、信息安全、组合算法的设计与分析。主持和参与、省部级科研项目多项,以第一作者身份在各类重要刊物和会议上发表论文20余篇,目前主持建设并讲授的“离散数学”课程被评为首批(线上)一流本科课程。 出版者的话

    译者序

    前言

    致谢

    第1章 模型与分析1

     1.1 计算斐波那契数1

     1.2 快速乘法3

     1.3 计算模型3

     1.4 随机算法简介4

      1.4.1 另一种随机算法6

     1.5 其他计算模型8

      1.5.1 外部存储器模型8

      1.5.2 并行模型8

     拓展阅读10

     习题10

    第2章 概率基础与尾部不等式13

     2.1 概率基础13

     2.2 尾部不等式17

     2.3 生成随机数20

      2.3.1 生成具有任意分布的随机变量21

      2.3.2 由顺序文件生成随机变量21

      2.3.3 生成随机置换23

     拓展阅读25

     习题25

    第3章 热身问题27

     3.1 计算最大公因子的欧几里得算法27

      3.1.1 扩展欧几里得算法27

      3.1.2 在密码学中的应用28

     3.2 寻找第k小的元素28

      3.2.1 选择随机的划分元29

      3.2.2 中位数的中位数30

     3.3 词的排序32

     3.4 可归并的堆34

      3.4.1 归并二项堆35

     3.5 一个简单的半动态词典35

      3.5.1 势能法与平摊分析36

     3.6 下界37

     拓展阅读39

     习题39

    第4章 优化Ⅰ:蛮力法与贪婪策略42

     4.1 启发式搜索方法42

      4.1.1 博弈树44

     4.2 贪婪算法的框架46

      4.2.1 最大支撑树49

      4.2.2 寻找最小权值子集49

      4.2.3 一个调度问题50

     4.3 最小支撑树算法的高效数据结构51

      4.3.1 并查集的一种简单数据结构52

      4.3.2 更快的方案53

      4.3.3 增长最慢的函数54

      4.3.4 整合55

      4.3.5 仅做道路压缩56

     4.4 其他不同形式的贪婪策略57

     4.5 与贪婪策略的折中58

     4.6 梯度下降59

      4.6.1 应用63

     拓展阅读65

     习题66

    第5章 优化Ⅱ:动态规划69

     5.1 背包问题70

     5.2 上下文无关文法的解析71

     5.3 最长单调子序列72

     5.4 函数逼近74

     5.5 最大似然估计的Viterbi算法75

     5.6 树中的最大权独立集76

     拓展阅读76

     习题77

    第6章 查找80

     6.1 跳表——一个简单的字典80

      6.1.1 跳表的构造80

      6.1.2 分析81

      6.1.3 更强的尾部估计82

     6.2 树堆:随机查找树83

     6.3 全域哈希86

      6.3.1 全域哈希函数的存在性88

     6.4 完美哈希函数88

      6.4.1 将期望界转换为最差情况的界89

     6.5 一个复杂度为log log N的优先级队列89

     拓展阅读91

     习题92

    第7章 多维查找与几何算法94

     7.1 区间树与范围树94

      7.1.1 一维范围查找94

      7.1.2 二维范围查找96

     7.2 kd树97

     7.3 优先级查找树99

     7.4 平面凸包101

      7.4.1 Jarvis March算法102

      7.4.2 Graham扫描算法102

      7.4.3 排序与凸包103

     7.5 快速凸包算法104

      7.5.1 分析105

      7.5.2 期望运行时间106

     7.6 使用持久化数据结构的点定位107

     7.7 增量构造法109

     拓展阅读111

     习题111

    第8章 字符串匹配与指纹函数114

     8.1 RabinKarp指纹字符串查找算法114

     8.2 KMP算法117

      8.2.1 KMP算法的分析120

      8.2.2 模式分析120

     8.3 字典树及其应用121

     拓展阅读123

     习题123

    第9章 快速傅里叶变换及其应用125

     9.1 多项式求值与插值125

      9.1.1 多项式相乘126

     9.2 CooleyTukey算法126

     9.3 蝶形网络128

     9.4 SchonageStrassen快速乘法算法129

     9.5 广义字符串匹配131

      9.5.1 基于卷积的方法131

     拓展阅读133

     习题133

    第10章 图算法135

     10.1 深度优先搜索135

     10.2 深度优先搜索的应用138

      10.2.1 强连通分支138

      10.2.2 双连通分支140

     10.3 道路问题142

      10.3.1 BellmanFord单源最短道路算法143

      10.3.2 Dijkstra单源最短道路算法143

      10.3.3 任意两点之间的最短道路算法145

     10.4 计算赋权图中的支撑子145

     10.5 全局最小割148

      10.5.1 收缩算法149

      10.5.2 最小割的概率149

     拓展阅读150

     习题151

    第11章 最大流及其应用153

     11.1 最大流的性质与算法155

      11.1.1 最大流与最小割155

      11.1.2 FordFulkerson算法156

      11.1.3 EdmondKarp可增广道路策略157

      11.1.4 单调性引理及迭代次数的界158

     11.2 最大流的应用159

      11.2.1 边不相交的道路159

      11.2.2 二部图的匹配159

      11.2.3 环流问题162

      11.2.4 项目规划164

     拓展阅读165

     习题165

    第12章 NP完全性与近似算法168

     12.1 分类与可归约性170

     12.2 CookLevin定理172

     12.3 常见的NP完全问题173

     12.4 NP完全性的证明175

      12.4.1 顶点覆盖及相关问题175

      12.4.2 图的3着色问题176

      12.4.3 背包问题及相关问题177

     12.5 其他重要的复杂度类179

     12.6 使用近似算法处理困难性181

      12.6.1 最大背包问题182

      12.6.2 最小集合覆盖183

      12.6.3 几何旅行商问题184

      12.6.4 3着色问题185

      12.6.5 最大割问题185

     拓展阅读186

     习题186

    第13章 降维188

     13.1 随机投影与JohnsonLindenstrauss引理188

     13.2 高斯消元法191

     13.3 奇异值分解及其应用192

      13.3.1 矩阵代数与SVD定理192

      13.3.2 使用SVD的低秩近似194

      13.3.3 低秩近似的应用196

      13.3.4 聚类问题197

      13.3.5 SVD定理的证明199

     拓展阅读200

     习题200

    第14章 并行算法201

     14.1 并行计算模型201

     14.2 排序和比较问题202

      14.2.1 寻找最大值202

      14.2.2 排序204

     14.3 并行前缀208

     14.4 基本的图算法212

      14.4.1 列表排名212

      14.4.2 连通分支214

     14.5 基本的几何算法216

     14.6 并行模型之间的关系217

      14.6.1 网格上的路由218

     拓展阅读220

     习题220

    第15章 层次化存储结构及高速缓存223

     15.1 层次化存储模型223

     15.2 矩阵转置224

      15.2.1 矩阵乘法225

     15.3 在外部存储器中进行排序226

      15.3.1 我们可以改进这个算法吗227

     15.4 高速缓存参数无关的算法设计228

      15.4.1 参数无关的矩阵转置229

     拓展阅读231

     习题232

    第16章 流数据模型233

     16.1 引言233

     16.2 查找流中的频繁元素233

     16.3 流中的相异元素236

     16.4 频数矩问题及其应用238

      16.4.1 均值的中位数241

      16.4.2 二阶频数矩的特例241

     16.5 流模型下界的证明243

     拓展阅读244

     习题245

    附录A 递推关系与生成函数247

    参考文献253
  • 内容简介:
    本书不仅讲解传统的算法设计策略和技巧,而且关注算法领域不断涌现的新概念、新方法和新应用,帮助读者把握技术热点及发展趋势。书中引入了降维技术、并行算法、随机算法、层次化存储结构算法和流算法等新内容,大量使用概率分析和随机化技术,并包含众多新颖的示例,特别是强调计算模型和计算环境,不再局限于理想化的随机存取机模型。全书内容简洁明快,并配有丰富的习题和拓展阅读资料,适合作为高等院校计算机相关专业的教材,也适合业界技术人员阅读参考。
  • 作者简介:
    ---作者简介---

    桑迪普?森(Sandeep Sen) 印度理工学院德里分校计算机科学与工程系教授,印度国家科学院院士,印度科学院院士,研究领域包括随机算法、计算几何、动态图算法和计算模型等。曾在IBM研究实验室、微软研究实验室、北卡罗莱纳大学教堂山分校等机构担任访问研究员。

    阿米特?库玛尔(Amit Kumar) 印度理工学院德里分校计算机科学与工程系教授,印度科学院院士,研究领域包括组合优化、调度、图论和聚类等。曾任职于贝尔实验室,并曾在微软印度研究院和IBM印度研究院担任访问教授。曾荣获2018年印度Shanti Swarup Bhtanagar数学科学奖。

    ---译者简介---

    刘铎  于清华大学计算机科学与技术系获工学博士学位,现为北京交通大学软件学院副教授。主要研究方向为应用密码学、信息安全、组合算法的设计与分析。主持和参与、省部级科研项目多项,以第一作者身份在各类重要刊物和会议上发表论文20余篇,目前主持建设并讲授的“离散数学”课程被评为首批(线上)一流本科课程。
  • 目录:
    出版者的话

    译者序

    前言

    致谢

    第1章 模型与分析1

     1.1 计算斐波那契数1

     1.2 快速乘法3

     1.3 计算模型3

     1.4 随机算法简介4

      1.4.1 另一种随机算法6

     1.5 其他计算模型8

      1.5.1 外部存储器模型8

      1.5.2 并行模型8

     拓展阅读10

     习题10

    第2章 概率基础与尾部不等式13

     2.1 概率基础13

     2.2 尾部不等式17

     2.3 生成随机数20

      2.3.1 生成具有任意分布的随机变量21

      2.3.2 由顺序文件生成随机变量21

      2.3.3 生成随机置换23

     拓展阅读25

     习题25

    第3章 热身问题27

     3.1 计算最大公因子的欧几里得算法27

      3.1.1 扩展欧几里得算法27

      3.1.2 在密码学中的应用28

     3.2 寻找第k小的元素28

      3.2.1 选择随机的划分元29

      3.2.2 中位数的中位数30

     3.3 词的排序32

     3.4 可归并的堆34

      3.4.1 归并二项堆35

     3.5 一个简单的半动态词典35

      3.5.1 势能法与平摊分析36

     3.6 下界37

     拓展阅读39

     习题39

    第4章 优化Ⅰ:蛮力法与贪婪策略42

     4.1 启发式搜索方法42

      4.1.1 博弈树44

     4.2 贪婪算法的框架46

      4.2.1 最大支撑树49

      4.2.2 寻找最小权值子集49

      4.2.3 一个调度问题50

     4.3 最小支撑树算法的高效数据结构51

      4.3.1 并查集的一种简单数据结构52

      4.3.2 更快的方案53

      4.3.3 增长最慢的函数54

      4.3.4 整合55

      4.3.5 仅做道路压缩56

     4.4 其他不同形式的贪婪策略57

     4.5 与贪婪策略的折中58

     4.6 梯度下降59

      4.6.1 应用63

     拓展阅读65

     习题66

    第5章 优化Ⅱ:动态规划69

     5.1 背包问题70

     5.2 上下文无关文法的解析71

     5.3 最长单调子序列72

     5.4 函数逼近74

     5.5 最大似然估计的Viterbi算法75

     5.6 树中的最大权独立集76

     拓展阅读76

     习题77

    第6章 查找80

     6.1 跳表——一个简单的字典80

      6.1.1 跳表的构造80

      6.1.2 分析81

      6.1.3 更强的尾部估计82

     6.2 树堆:随机查找树83

     6.3 全域哈希86

      6.3.1 全域哈希函数的存在性88

     6.4 完美哈希函数88

      6.4.1 将期望界转换为最差情况的界89

     6.5 一个复杂度为log log N的优先级队列89

     拓展阅读91

     习题92

    第7章 多维查找与几何算法94

     7.1 区间树与范围树94

      7.1.1 一维范围查找94

      7.1.2 二维范围查找96

     7.2 kd树97

     7.3 优先级查找树99

     7.4 平面凸包101

      7.4.1 Jarvis March算法102

      7.4.2 Graham扫描算法102

      7.4.3 排序与凸包103

     7.5 快速凸包算法104

      7.5.1 分析105

      7.5.2 期望运行时间106

     7.6 使用持久化数据结构的点定位107

     7.7 增量构造法109

     拓展阅读111

     习题111

    第8章 字符串匹配与指纹函数114

     8.1 RabinKarp指纹字符串查找算法114

     8.2 KMP算法117

      8.2.1 KMP算法的分析120

      8.2.2 模式分析120

     8.3 字典树及其应用121

     拓展阅读123

     习题123

    第9章 快速傅里叶变换及其应用125

     9.1 多项式求值与插值125

      9.1.1 多项式相乘126

     9.2 CooleyTukey算法126

     9.3 蝶形网络128

     9.4 SchonageStrassen快速乘法算法129

     9.5 广义字符串匹配131

      9.5.1 基于卷积的方法131

     拓展阅读133

     习题133

    第10章 图算法135

     10.1 深度优先搜索135

     10.2 深度优先搜索的应用138

      10.2.1 强连通分支138

      10.2.2 双连通分支140

     10.3 道路问题142

      10.3.1 BellmanFord单源最短道路算法143

      10.3.2 Dijkstra单源最短道路算法143

      10.3.3 任意两点之间的最短道路算法145

     10.4 计算赋权图中的支撑子145

     10.5 全局最小割148

      10.5.1 收缩算法149

      10.5.2 最小割的概率149

     拓展阅读150

     习题151

    第11章 最大流及其应用153

     11.1 最大流的性质与算法155

      11.1.1 最大流与最小割155

      11.1.2 FordFulkerson算法156

      11.1.3 EdmondKarp可增广道路策略157

      11.1.4 单调性引理及迭代次数的界158

     11.2 最大流的应用159

      11.2.1 边不相交的道路159

      11.2.2 二部图的匹配159

      11.2.3 环流问题162

      11.2.4 项目规划164

     拓展阅读165

     习题165

    第12章 NP完全性与近似算法168

     12.1 分类与可归约性170

     12.2 CookLevin定理172

     12.3 常见的NP完全问题173

     12.4 NP完全性的证明175

      12.4.1 顶点覆盖及相关问题175

      12.4.2 图的3着色问题176

      12.4.3 背包问题及相关问题177

     12.5 其他重要的复杂度类179

     12.6 使用近似算法处理困难性181

      12.6.1 最大背包问题182

      12.6.2 最小集合覆盖183

      12.6.3 几何旅行商问题184

      12.6.4 3着色问题185

      12.6.5 最大割问题185

     拓展阅读186

     习题186

    第13章 降维188

     13.1 随机投影与JohnsonLindenstrauss引理188

     13.2 高斯消元法191

     13.3 奇异值分解及其应用192

      13.3.1 矩阵代数与SVD定理192

      13.3.2 使用SVD的低秩近似194

      13.3.3 低秩近似的应用196

      13.3.4 聚类问题197

      13.3.5 SVD定理的证明199

     拓展阅读200

     习题200

    第14章 并行算法201

     14.1 并行计算模型201

     14.2 排序和比较问题202

      14.2.1 寻找最大值202

      14.2.2 排序204

     14.3 并行前缀208

     14.4 基本的图算法212

      14.4.1 列表排名212

      14.4.2 连通分支214

     14.5 基本的几何算法216

     14.6 并行模型之间的关系217

      14.6.1 网格上的路由218

     拓展阅读220

     习题220

    第15章 层次化存储结构及高速缓存223

     15.1 层次化存储模型223

     15.2 矩阵转置224

      15.2.1 矩阵乘法225

     15.3 在外部存储器中进行排序226

      15.3.1 我们可以改进这个算法吗227

     15.4 高速缓存参数无关的算法设计228

      15.4.1 参数无关的矩阵转置229

     拓展阅读231

     习题232

    第16章 流数据模型233

     16.1 引言233

     16.2 查找流中的频繁元素233

     16.3 流中的相异元素236

     16.4 频数矩问题及其应用238

      16.4.1 均值的中位数241

      16.4.2 二阶频数矩的特例241

     16.5 流模型下界的证明243

     拓展阅读244

     习题245

    附录A 递推关系与生成函数247

    参考文献253
查看详情
12
相关图书 / 更多
现代算法设计与分析
现代演化经济学
[美]理查德·R.纳尔逊 著;石俊国 陈莹 译
现代算法设计与分析
现代分析方法
兰州大学分析化学教研室 主编
现代算法设计与分析
现代水工混凝土关键技术
田育功
现代算法设计与分析
现代家具生产与运作管理()
熊先青 主编
现代算法设计与分析
现代工科实验室安全
谢晖
现代算法设计与分析
现代大学英语(第三版)(精读)(4)(同步测试)
国伟
现代算法设计与分析
现代放射治疗设备学
卢洁,李小波,巩贯忠
现代算法设计与分析
现代文阅读满分答题公式+120篇阅读训练 7-9年级
有道语文教研中心
现代算法设计与分析
现代小说化读
王鼎钧
现代算法设计与分析
现代汉语书面语历时语域变异研究
李佳蕾
现代算法设计与分析
现代护士临床必读
郭丽娟
现代算法设计与分析
现代合作性金融制度的产生、变迁及功能研究
杨焱
您可能感兴趣 / 更多
现代算法设计与分析
Python数据分析(第3版)
[印]阿维纳什·纳夫拉尼(Avinash Navlani)
现代算法设计与分析
PyTorch计算机视觉实战:目标检测、图像处理与深度学习
[印]V·基肖尔·阿耶德瓦拉 (印)耶什万斯·雷迪
现代算法设计与分析
超声引导下区域麻醉实用指南
[印]阿鲁南苏·查克拉博蒂
现代算法设计与分析
Python机器学习实战:基于Scikit-learn与PyTorch的神经网络解决方案
[印]阿什温·帕扬卡 (Ashwin Pajankar) 阿迪亚·乔希 (Aditya Joshi)著 欧拉 译
现代算法设计与分析
全栈测试
[印]加亚特里 默罕(Gayathri Mohan)
现代算法设计与分析
数字设计技术与解析
[印]瓦伊巴夫·塔拉特 著;慕意豪 译
现代算法设计与分析
泰戈尔诗选(成长读书课:名家公开课美绘版)
[印]泰戈尔 著;郑振铎 译
现代算法设计与分析
密码学与网络安全(第4版)
[印]阿图尔·卡哈特(Atul Kahate)著 葛秀慧 金名 译
现代算法设计与分析
MATLAB 图形学基础
[印]兰詹·帕雷克(Ranjan Parekh) 著;章毓晋 译
现代算法设计与分析
古老智慧的现代实践:辨喜论吠檀多(瑜伽奥义丛书)
[印]斯瓦米·维韦卡南达(辨喜)
现代算法设计与分析
从冥想到三摩地:辨喜论王瑜伽和《瑜伽经》(瑜伽奥义丛书)
[印]斯瓦米·维韦卡南达(辨喜)
现代算法设计与分析
被设想的未来
[印]普立梵(Prem Poddar) 【英】安德鲁·瓦特(Andrew Watt)