图书介绍

计算机算法基础pdf电子书版本下载

计算机算法基础
  • 沈孝钧编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111425953
  • 出版时间:2013
  • 标注页数:289页
  • 文件大小:144MB
  • 文件页数:301页
  • 主题词:电子计算机-算法理论-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

计算机算法基础PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 概述 1

1.1 算法与数据结构及程序的关系 1

1.1.1 什么是算法 1

1.1.2 算法与数据结构的关系 1

1.1.3 算法与程序的关系 1

1.1.4 选择排序的例子 2

1.1.5 算法的伪码表示 2

1.2 算法复杂度分析 3

1.2.1 算法复杂度的度量 3

1.2.2 算法复杂度与输入数据规模的关系 3

1.2.3 输入数据规模的度量模型 4

1.2.4 算法复杂度分析中的两个简化假设 4

1.2.5 最好情况、最坏情况和平均情况的复杂度分析 5

1.3 函数增长渐近性态的比较 6

1.3.1 三种比较关系及O、Ω、?记号 6

1.3.2 表示算法复杂度的常用函数 6

1.4 算法复杂度与问题复杂度的关系 8

1.4.1 问题复杂度是算法复杂度的下界 8

1.4.2 问题复杂度与最佳算法 8

1.4.3 易处理问题和难处理问题 8

习题 9

第2章 分治法 10

2.1 分治法原理 10

2.1.1 二元搜索的例子 10

2.1.2 表示复杂度的递推关系 11

2.2 递推关系求解 11

2.2.1 替换法 12

2.2.2 序列求和法和递归树法 13

2.2.3 常用序列和公式 14

2.2.4 主方法求解 16

习题 16

第3章 基于比较的排序算法 19

3.1 插入排序 19

3.1.1 插入排序的算法 19

3.1.2 插入排序算法的复杂度分析 20

3.1.3 插入排序的优缺点 20

3.2 合并排序 21

3.2.1 合并算法及其复杂度 21

3.2.2 合并排序的算法及其复杂度 22

3.2.3 合并排序的优缺点 24

3.3 堆排序 24

3.3.1 堆的数据结构 24

3.3.2 堆的修复算法及其复杂度 25

3.3.3 为输入数据建堆 27

3.3.4 堆排序算法 28

3.3.5 堆排序算法的复杂度 29

3.3.6 堆排序算法的优缺点 29

3.3.7 堆用作优先队列 30

3.4 快排序 31

3.4.1 快排序算法 31

3.4.2 快排序算法最坏情况复杂度 33

3.4.3 快排序算法平均情况复杂度 34

3.4.4 快排序算法最好情况复杂度 34

3.4.5 快排序算法优缺点 36

习题 36

第4章不基于比较的排序算法 39

4.1 比较排序的下界 39

4.1.1 决策树模型及最坏情况下界 39

4.1.2 二叉树的外路径总长与平均情况下界 41

4.1.3 二叉树的全路径总长及堆排序最好情况下界 43

4.2 不基于比较的线性时间排序算法 46

4.2.1 计数排序 46

4.2.2 基数排序 48

4.2.3 桶排序 49

习题 51

第5章 中位数和任一顺序数的选择 53

5.1 问题定义 53

5.2 最大数和最小数的选择 53

5.2.1 最大和最小顺序数的选择算法及其复杂度 53

5.2.2 同时找出最大数和最小数的算法 54

5.3 线性时间找出任一顺序数的算法 55

5.3.1 最坏情况复杂度为O(n)的算法 56

5.3.2 平均情况复杂度为O(n)的算法 58

5.4 找出k个最大顺序数的算法 58

5.4.1 一个理论联系实际的问题 58

5.4.2 利用堆来找k个最大的顺序数的算法 59

5.4.3 利用锦标赛树来找k个最大顺序数的算法 59

习题 60

第6章 动态规划 62

6.1 动态规划的基本原理 62

6.2 矩阵连乘问题 63

6.3 最长公共子序列问题 68

6.4 最佳二元搜索树 71

6.5 多级图及其应用 76

6.6 最长递增子序列问题 78

习题 80

第7章 贪心算法 86

7.1 最佳邮局设置问题 86

7.2 最佳活动安排问题 87

7.3 哈夫曼编码问题 89

7.3.1 前缀码 89

7.3.2 最佳前缀码——哈夫曼编码 90

7.4 最佳加油计划问题 94

习题 96

第8章 图的周游算法 100

8.1 图的表示 100

8.1.1 邻接表 100

8.1.2 邻接矩阵 101

8.2 广度优先搜索及应用 101

8.2.1 广度优先搜索策略 101

8.2.2 广度优先搜索算法及距离树 102

8.2.3 无向图的二着色问题 105

8.3 深度优先搜索及应用 107

8.3.1 深度优先搜索策略 107

8.3.2 深度优先搜索算法和深度优先树 107

8.3.3 深度优先搜索算法举例和图中边的分类 110

8.3.4 拓扑排序 112

8.3.5 无回路有向图中最长路径问题及应用 114

8.3.6 有向图的强连通分支的分解 116

8.3.7 无向图的双连通分支的分解 119

习题 124

第9章 图的最小支撑树 128

9.1 计算最小支撑树的一个通用的贪心算法策略 129

9.2 Kruskal算法 130

9.3 Prim算法 133

习题 137

第10章 单源最短路径 140

10.1 Dijkstra算法 140

10.2 Bellman-Ford算法 144

习题 148

第11章 网络流 150

11.1 网络模型和最大网络流问题 150

11.2 网络中流与割的关系 152

11.2.1 网络中的割及其容量 153

11.2.2 剩余网络和增广路径 154

11.2.3 最大流最小割定理 156

11.3 Ford-Fulkerson方法 157

11.3.1 Ford-Fulkerson的通用方法 157

11.3.2 Edmonds-Karp算法 159

11.3.3 Dinic算法 161

11.3.4 0-1网络的最大流问题 164

11.4 二部图的匹配问题 165

11.4.1 用网络流求二部图的最大匹配算法 166

11.4.2 Philip-Hall婚配定理 167

11.4.3 Birkhoff-von Neuman定理 169

11.5 推进-重标号算法简介 170

11.5.1 预流和高度函数 170

11.5.2 在剩余图中对顶点的两个操作 171

11.5.3 推进-重标号算法的初始化 172

11.5.4 推进-重标号的通用算法 172

习题 174

第12章 计算几何基础 177

12.1 平面线段及相互关系 177

12.1.1 向量的点积和叉积 177

12.1.2 平面线段的相互关系 178

12.2 平扫线技术和线段相交的确定 181

12.2.1 平扫线的状态 182

12.2.2 用平扫线确定线段相交的算法 182

12.3 平面点集的凸包 185

12.3.1 Graham扫描法 186

12.3.2 Jarvis行进法 190

12.4 最近点对问题 192

习题 195

第13章 字符串匹配 197

13.1 一个朴素的字符串匹配算法 197

13.2 Rabin-Karp算法 198

13.3 基于有限状态自动机的匹配算法 199

13.3.1 有限状态自动机简介 199

13.3.2 字符串匹配自动机 200

13.3.3 基于有限状态自动机的串匹配算法 202

13.4 Knuth-Morris-Pratt(KMP)算法 203

13.4.1 模式的前缀函数 203

13.4.2 KMP算法的伪码 205

习题 207

第14章 NP完全问题 208

14.1 预备知识 209

14.1.1 图灵机 209

14.1.2 符号集和编码对计算复杂度的影响 210

14.1.3 判断型问题和优化型问题及其关系 210

14.1.4 判断型问题的形式语言表示 211

14.1.5 多项式关联和多项式归约 212

14.2 P和NP语言类 214

14.2.1 非确定图灵机和NP语言类 214

14.2.2 多项式检验算法和NP类语言 215

14.3 NP完全语言类和NP完全问题 216

14.3.1 第一个NPC问题 217

14.3.2 若干著名NPC问题的证明 220

习题 231

第15章 近似算法 236

15.1 近似算法的性能评价 236

15.2 顶点覆盖问题 237

15.3 货郎担问题 238

15.3.1 满足三角不等式关系的货郎担问题 238

15.3.2 无三角不等式关系的一般货郎担问题 241

15.4 集合覆盖问题 242

15.5 MAX-3-SAT问题 244

15.6 加权的顶点覆盖问题 245

15.7 子集和问题 247

15.7.1 一个保证最优解的指数型算法 247

15.7.2 子集和问题的一个完全多项式近似机制 248

15.8 鸿沟定理和不可近似性 251

15.8.1 鸿沟定理 251

15.8.2 任务均匀分配问题 252

习题 254

第16章 穷举搜索 257

16.1 搜索问题及方法的描述 257

16.2 回溯法 259

16.2.1 回溯法的通用算法 259

16.2.2 n皇后问题 259

16.2.3 子集和问题 260

16.2.4 回溯法的效率估计 262

16.3 分支限界法 263

16.3.1 分支限界法解n皇后问题 264

16.3.2 0/1背包问题 266

16.4 博弈树和α-β剪枝 271

16.4.1 博弈树及其评估的方法 271

16.4.2 α-β剪枝法 275

习题 276

附录 红黑树 278

参考文献 289

精品推荐