当前位置:首页 > 工业技术
算法分析与设计及案例教程

算法分析与设计及案例教程PDF格式文档图书下载

工业技术

图书介绍:本书介绍算法的概念,算法分析的基本理论、过程和基本方法,以及算法设计的基本策略方法。主要内容包括:算法概述、算法效率分析基础、蛮力法、分治法、分治策略变体-减治河变治、动态规划、时空权衡技术、贪心算法、回溯和分支限界法、可解和不可解问题等。书中最后对ACM竞赛精选案例进行了简单分析和讲解。教材中既有新创趣题,也有经典名题,难度适宜,可激发学生学习的兴趣,对专业学生的知识面的拓展起到很好的效果。

查看更多关于算法分析与设计及案例教程的内容

图书介绍

第1章 绪论 1

1.1 什么是算法 1

1.1.1 算法的由来 1

1.1.2 算法的发展 3

1.1.3 算法的例子 4

1.2 重要的问题类型 5

1.2.1 排序 6

1.2.2 查找 6

1.2.3 字符串匹配 6

1.2.4 图问题 7

1.2.5 组合问题 7

1.2.6 几何问题 7

1.2.7 数值问题 8

1.3 基本数据结构 8

1.3.1 线性结构 8

1.3.2 树结构 8

1.3.3 图结构 9

1.3.4 集合 9

1.3.5 数据的物理结构 10

1.4 算法问题求解基础 10

1.4.1 算法求解框架 10

1.4.2 算法设计步骤 10

1.5 算法的表示 14

1.6 为什么学习算法 15

总结 16

习题1 16

第2章 算法效率分析基础 17

2.1 算法分析框架 17

2.1.1 算法分析概述 17

2.1.2 算法正确性分析 17

2.1.3 时空效率分析 17

2.1.4 算法分析过程 19

2.2 渐进符号和基本效率类型 20

2.2.1 三种渐进符号 20

2.2.2 渐进符号的特性 20

2.2.3 基本效率类型 21

2.3 非递归算法的数学分析方法 22

2.4 递归算法的数学分析 26

2.4.1 递归算法的数学分析方法 26

2.4.2 斐波那契数列 29

2.5 算法的其他分析方法 31

总结 32

习题2 32

第3章 蛮力法 33

3.1 概述 33

3.2 排序问题 35

3.2.1 选择排序 35

3.2.2 冒泡排序 36

3.3 查找问题 37

3.3.1 顺序查找 38

3.3.2 字符串匹配 38

3.4 几何问题 39

3.4.1 最近对问题 40

3.4.2 凸包问题 40

3.5 组合问题 42

3.5.1 旅行商问题 42

3.5.2 背包问题 44

总结 45

习题3 45

第4章 分治法 46

4.1 概述 46

4.2 分治法的基本策略及步骤 46

4.2.1 分治法的基本策略 46

4.2.2 分治法的基本步骤 47

4.3 排序问题 48

4.3.1 合并排序 48

4.3.2 快速排序 49

4.4 查找问题 51

4.4.1 折半查找 51

4.4.2 二叉树遍历及其相关特性 53

4.5 数值计算问题 54

4.5.1 大整数乘法 54

4.5.2 Strassen矩阵乘法 56

4.6 几何问题 58

4.6.1 用分治法解最近对问题 58

4.6.2 用分治法解凸包问题 59

4.7 分析分治法在安排循环赛中的应用 60

总结 62

习题4 62

第5章 分治策略变体——减治策略和变治策略 64

5.1 减治策略 64

5.1.1 插入排序 65

5.1.2 拓扑排序 67

5.1.3 生成组合对象的算法 68

5.1.4 减常因子算法 71

5.1.5 减可变规模算法 73

5.2 变治策略 75

5.2.1 排序问题 75

5.2.2 平衡查找树 80

5.2.3 霍纳法则和二进制幂 86

5.2.4 问题化简 88

总结 89

习题5 89

第6章 动态规划 91

6.1 概述 91

6.2 算法特点 93

6.2.1 备忘录方法 94

6.2.2 最优化原理 98

6.2.3 求解步骤 98

6.3 矩阵连乘问题 99

6.4 最长公共子序列 104

6.5 0-1背包问题 107

6.6 最大子段和 113

6.7 最优二叉查找树 116

总结 122

习题6 122

第7章 时空权衡技术 125

7.1 时空权衡策略 125

7.2 计数排序 126

7.3 字符串匹配 128

7.4 散列法 134

总结 139

习题7 139

第8章 贪心算法 141

8.1 概述 141

8.1.1 贪心算法的基本要素 142

8.1.2 贪心算法的求解过程 142

8.2 活动安排问题 143

8.3 背包问题 146

8.4 最小生成树问题 148

8.4.1 Prim算法 150

8.4.2 Kruskal算法 153

8.5 单源(点)最短路径问题 158

8.6 哈夫曼编码 162

总结 168

习题8 168

第9章 回溯法和分支限界法 171

9.1 回溯法 171

9.1.1 概述 171

9.1.2 子集和问题 176

9.1.3 n皇后问题 178

9.1.4 哈密顿回路 180

9.1.5 装载问题 182

9.2 分支限界法 186

9.2.1 概述 186

9.2.2 0-1背包问题 191

9.2.3 任务分配问题 194

9.2.4 多段图的最短路径问题 199

9.2.5 旅行商问题 204

总结 210

习题9 210

第10章 NP完全性理论 212

10.1 判定问题和最优化问题 212

10.2 P类问题 214

10.3 NP类问题 215

10.4 NP完全问题 216

10.5 典型的NP完全问题 218

10.6 其他NP完全问题 220

10.7 NP完全问题的计算机处理 221

总结 222

习题10 222

第11章 案例精选 223

11.1 果园篱笆问题 223

11.2 空中飞行管理问题 223

11.3 去数问题 224

11.4 极差问题 224

11.5 最优合并问题 225

11.6 在棋盘中实现从初始布局到目标布局的转变 226

11.7 商店购物问题 227

11.8 旅游预算问题 229

11.9 防卫导弹问题 231

11.10 钓鱼问题 232

11.11 胖男孩问题 234

11.12 护卫队问题 235

参考文献 237

查看更多关于算法分析与设计及案例教程的内容

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