算法设计与分析(第二版)

百科
算法设计与分析(第二版)

算法设计与分析(第二版)

《算法设计与分析(第二版)》是西安电子科技大学出版社出版的一本图书。作 者是霍红卫。书中以类高级程式设计语言对算法所作的简明描述,使得稍微具有程式设计语言知识的人即可读懂。此外,书中以大量图例说明每个算法的工作过程,使得算法更加易于理解和掌握。

基本介绍

  • 书名:《算法设计与分析(第二版)》
  • 作者:霍红卫
  • ISBN:978-7-5606-2459-4
  • 出版社:西安电子科技大学出版社

内容简介

全书共8章,内容包括算法基础、基本算法设计和分析技术(分治法、动态规划、贪心法、回溯法和分枝限界法)、图算法以及NP完全性理论。
本书可作为高等院校与计算机相关的各专业“算法设计”课程的教材,也可作为计算机领域的相关科研人员的参考书。此外,本书还可供参加ACM程式设计大赛的算法爱好者参考

目录

第1章 算法基础 1
1.1 算法 1
1.1.1 冒泡排序 1
1.1.2 循环不变式和冒泡排序算法的正确性 2
1.1.3 伪代码使用约定 3
1.2 算法分析 4
1.2.1 冒泡排序算法分析 5
1.2.2 最坏情况和平均情况分析 6
1.2.3 增长的数量级 6
1.3 算法的运行时间 7
1.3.1 函式增长 7
1.3.2 渐近表示 8
习题 10
第2章 分治法 13
2.1 递归与递归方程 13
2.1.1 递归的概念 13
2.1.2 替换方法 16
2.1.3 递归树方法 17
2.1.4 主方法 18
2.2 分治法 20
2.2.1 分治法的基本思想 20
2.2.2 二叉查找算法 21
2.3 分治法套用实例 24
2.3.1 找最大值与最小值 24
2.3.2 Strassen矩阵乘法 26
2.3.3 整数相乘 27
2.3.4 归併排序 28
2.3.5 快速排序 33
2.3.6 线性时间选择 37
2.3.7 最近点对问题 41
习题 44
第3章 动态规划 49
3.1 用表代替递归 49
3.2 0-1背包问题 52
3.3 矩阵链乘问题 54
3.4 动态规划的基本元素 60
3.5 备忘录方法 64
3.6 装配线调度问题 70
3.7 最长公共子序列 73
3.8 最优二分检索树 77
3.9 凸多边形最优三角剖分 84
习题 88
第4章 贪心法 98
4.1 背包问题 98
4.2 活动选择问题 101
4.3 贪心算法的基本元素 105
4.4 哈夫曼编码 107
4.5 最小生成树算法 113
4.5.1 最小生成树的基本原理 113
4.5.2 Kruskal算法 116
4.5.3 Prim算法 120
4.5.4 Boruvka算法 124
4.5.5 比较与改进 126
4.6 贪心算法的理论基础 126
4.7 作业调度问题 130
习题 131
第5章 回溯法 136
5.1 回溯法的基本原理 136
5.2 n皇后问题 140
5.3 子集和数问题 143
5.4 0-1背包问题 146
5.5 着色问题 149
习题 152
第6章 分枝限界法 155
6.1 分枝限界法的基本思想 155
6.2 0-1背包问题 159
6.3 作业调度问题 167
习题 170
第7章 图算法 172
7.1 图的表示 172
7.2 广度优先搜寻 173
7.3 Dijkstra算法 175
7.4 BellmanFord算法 182
7.5 FloydWarshall算法 184
习题 185
第8章 NP完全性 189
8.1 P类问题和NP类问题 189
8.1.1 複杂类P和複杂类NP 190
8.1.2 NP中的有趣问题 192
8.2 NP完全性 194
8.2.1 多项式时间归约和NP难度 194
8.2.2 Cook定理 195
8.3 典型的NP完全问题 196
8.3.1 CNF3SAT问题和3SAT问题 198
8.3.2 顶点覆盖问题 200
8.3.3 团问题和集合覆盖问题 202
8.3.4 子集和数问题与背包问题 203
8.3.5 哈密尔顿迴路问题和TSP问题 205
习题 208
附录A 习题选解 211
附录B 索引 226
参考文献 231
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com