当前位置:首页 > 工业技术
算法设计与分析
算法设计与分析

算法设计与分析PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:王晓东编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302510109
  • 页数:348 页
图书介绍:本书以算法设计策略为知识单元,系统地介绍计算机算法的设计方法与分析技巧,以期为计算机科学与技术学科的学生提供广泛而坚实的计算机算法基础知识。
《算法设计与分析》目录

第1章 算法引论 1

1.1 算法与程序 1

1.2 表达算法的抽象机制 1

1.3 描述算法 3

1.4 算法复杂性分析 10

小结 13

习题 14

第2章 递归与分治策略 16

2.1 递归的概念 16

2.2 分治法的基本思想 21

2.3 二分搜索技术 23

2.4 大整数的乘法 23

2.5 Strassen矩阵乘法 24

2.6 棋盘覆盖 26

2.7 合并排序 28

2.8 快速排序 30

2.9 线性时间选择 33

2.10 最接近点对问题 35

2.11 循环赛日程表 43

小结 44

习题 44

第3章 动态规划 50

3.1 矩阵连乘问题 50

3.2 动态规划算法的基本要素 55

3.3 最长公共子序列 58

3.4 凸多边形最优三角剖分 61

3.5 多边形游戏 64

3.6 图像压缩 67

3.7 电路布线 69

3.8 流水作业调度 72

3.9 0-1背包问题 75

3.10 最优二叉搜索树 80

小结 83

习题 83

第4章 贪心算法 85

4.1 活动安排问题 85

4.2 贪心算法的基本要素 88

4.2.1 贪心选择性质 88

4.2.2 最优子结构性质 89

4.2.3 贪心算法与动态规划算法的差异 89

4.3 最优装载 91

4.4 哈夫曼编码 92

4.4.1 前缀码 93

4.4.2 构造哈夫曼编码 93

4.4.3 哈夫曼算法的正确性 95

4.5 单源最短路径 96

4.5.1 算法基本思想 97

4.5.2 算法的正确性和计算复杂性 98

4.6 最小生成树 99

4.6.1 最小生成树性质 99

4.6.2 Prim算法 100

4.6.3 Kruskal算法 102

4.7 多机调度问题 104

4.8 贪心算法的理论基础 106

4.8.1 拟阵 106

4.8.2 带权拟阵的贪心算法 107

4.8.3 任务时间表问题 109

小结 113

习题 113

第5章 回溯法 115

5.1 回溯法的算法框架 115

5.1.1 问题的解空间 115

5.1.2 回溯法的基本思想 116

5.1.3 递归回溯 117

5.1.4 迭代回溯 118

5.1.5 子集树与排列树 119

5.2 装载问题 120

5.3 批处理作业调度 126

5.4 符号三角形问题 128

5.5 n后问题 130

5.6 0-1背包问题 133

5.7 最大团问题 136

5.8 图的m着色问题 138

5.9 旅行售货员问题 140

5.10 圆排列问题 142

5.11 电路板排列问题 144

5.12 连续邮资问题 147

5.13 回溯法的效率分析 149

小结 152

习题 152

第6章 分支限界法 153

6.1 分支限界法的基本思想 153

6.2 单源最短路径问题 156

6.3 装载问题 158

6.4 布线问题 166

6.5 0-1背包问题 170

6.6 最大团问题 175

6.7 旅行售货员问题 178

6.8 电路板排列问题 181

6.9 批处理作业调度 184

小结 189

习题 189

第7章 概率算法 190

7.1 随机数 191

7.2 数值概率算法 193

7.2.1 用随机投点法计算π值 193

7.2.2 计算定积分 194

7.2.3 解非线性方程组 195

7.3 舍伍德算法 197

7.3.1 线性时间选择算法 198

7.3.2 跳跃表 200

7.4 拉斯维加斯算法 205

7.4.1 n后问题 206

7.4.2 整数因子分解 209

7.5 蒙特卡罗算法 211

7.5.1 蒙特卡罗算法的基本思想 211

7.5.2 主元素问题 213

7.5.3 素数测试 214

小结 217

习题 217

第8章 NP完全性理论与近似算法 221

8.1 P类与NP类问题 221

8.1.1 非确定性图灵机 222

8.1.2 P类与NP类语言 222

8.1.3 多项式时间验证 224

8.2 NP完全问题 225

8.2.1 多项式时间变换 225

8.2.2 Cook定理 226

8.3 一些典型的NP完全问题 229

8.3.1 合取范式的可满足性问题 230

8.3.2 3元合取范式的可满足性问题 230

8.3.3 团问题 231

8.3.4 顶点覆盖问题 232

8.3.5 子集和问题 233

8.3.6 哈密顿回路问题 235

8.3.7 旅行售货员问题 238

8.4 近似算法的性能 238

8.5 顶点覆盖问题的近似算法 240

8.6 旅行售货员问题近似算法 241

8.6.1 具有三角不等式性质的旅行售货员问题 242

8.6.2 一般的旅行售货员问题 243

8.7 集合覆盖问题的近似算法 244

8.8 子集和问题的近似算法 246

8.8.1 子集和问题的指数时间算法 247

8.8.2 子集和问题的完全多项式时间近似格式 247

小结 250

习题 250

第9章 串与序列的算法 253

9.1 子串搜索算法 253

9.1.1 串的基本概念 253

9.1.2 KMP算法 255

9.1.3 Rabin-Karp算法 258

9.1.4 多子串搜索与AC自动机 260

9.2 后缀数组与最长公共子串 266

9.2.1 后缀数组的基本概念 266

9.2.2 构造后缀数组的倍前缀算法 267

9.2.3 构造后缀数组的DC3分治法 270

9.2.4 最长公共前缀数组与最长公共扩展算法 274

9.2.5 最长公共子串算法 276

9.3 序列比较算法 277

9.3.1 编辑距离算法 277

9.3.2 最长公共单调子序列 280

9.3.3 有约束最长公共子序列 281

小结 284

习题 285

第10章 算法优化策略 288

10.1 算法设计策略的比较与选择 288

10.1.1 最大子段和问题的简单算法 288

10.1.2 最大子段和问题的分治算法 289

10.1.3 最大子段和问题的动态规划算法 291

10.1.4 最大子段和问题与动态规划算法的推广 291

10.2 动态规划加速原理 294

10.2.1 货物储运问题 294

10.2.2 算法及其优化 295

10.3 问题的算法特征 298

10.3.1 贪心策略 298

10.3.2 对贪心策略的改进 299

10.3.3 算法三部曲 299

10.3.4 算法实现 300

10.3.5 算法复杂性 305

10.4 优化数据结构 306

10.4.1 带权区间最短路问题 306

10.4.2 算法设计思想 306

10.4.3 算法实现方案 308

10.4.4 并查集 311

10.4.5 可并优先队列 314

10.5 优化搜索策略 318

小结 324

习题 324

第11章 在线算法设计 325

11.1 在线算法设计的基本概念 325

11.2 页调度问题 327

11.3 势函数分析 329

11.4 k服务问题 330

11.4.1 竞争比的下界 330

11.4.2 平衡算法 331

11.4.3 对称移动算法 332

11.5 Steiner树问题 334

11.6 在线任务调度 336

11.7 负载平衡 337

小结 338

习题 338

词汇索引 340

参考文献 345

相关图书
作者其它书籍
返回顶部