《算法设计与优化》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:邱莉榕,胥桂仙,翁彧编著
  • 出 版 社:北京:中央民族大学出版社
  • 出版年份:2017
  • ISBN:9787566012968
  • 页数:262 页
图书介绍:介绍算法的基础知识,包括抽象计算模型、算法基本概念、算法复杂性分析基础、算法设计的基本方法以及算法复杂性理论基础。具体有:递归;分治法;基本的排序算法及其复杂性分析;动态规划方法优二叉搜索树;贪心算法;哈夫曼编码;活动选择问题;用拟阵求解任务调度问题;回溯法:回溯法的基本思想;装载问题;批处理的作业调度问题;子集合问题;分支限界法;分支限界算法的基本思想;装载问题;批处理的作业调度问题;分支限界法的效率分析;网络与高级图论算法;最大流问题(Ford-Fulkerson标号算法等);最小费用最大流问题(最小费用算法等);匹配问题及其求解算法; NP完全性理论基础,多项式时间,NP完全问题;经典算法问题应用;机器学习经典算法介绍等。

第一章 绪论 1

1.1 什么是数据结构 1

1.1.1 什么是数据结构 1

1.1.2 基本概念和术语 3

1.1.3 数据结构的存储方式 3

1.2 算法描述与分析 4

1.2.1 什么是算法 4

1.2.2 算法描述工具 4

1.2.3 算法分析技术初步 5

1.2.4 常用算法实现及分析 6

参考文献 7

第二章 线性表 8

2.1 线性表定义和基本运算 8

2.1.1 线性表定义 8

2.1.2 线性表基本运算 9

2.2 线性表顺序存储结构 11

2.3 线性表链式存储结构 16

2.3.1 单向线性链表 16

2.3.2 循环链表 23

2.3.3 双向链表 25

2.4 线性表顺序和链式存储对比 26

2.5 线性表应用实例 27

参考文献 29

第三章 栈和队列 30

3.1 栈 30

3.1.1 栈的定义 30

3.1.2 栈的基本操作 31

3.1.3 栈的实现 31

3.2 栈的应用 35

3.2.1 数制转换 35

3.2.2 表达式求值 36

3.2.3 符号匹配 38

3.2.4 栈与递归 38

3.3 队列 40

3.3.1 队列的定义 40

3.3.2 队列的基本操作 41

3.3.3 队列的实现 41

3.4 队列的应用 46

3.4.1 打印机缓冲区 46

3.4.2 舞伴问题 46

3.4.3 CPU分时系统 48

参考文献 48

第四章 树 49

4.1 树的定义和基本概念 49

4.1.1 树的定义 49

4.1.2 树的基本概念 49

4.1.3 树与线性结构的对照 51

4.2 二叉树 51

4.2.1 二叉树的定义和基本术语 51

4.2.2 二叉树的性质 51

4.2.3 二叉树的存储结构 53

4.3 遍历二叉树 56

4.3.1 先根遍历 56

4.3.2 中根遍历 56

4.3.3 后根遍历 57

4.3.4 二叉树遍历算法的应用 57

4.4 线索二叉树 59

4.4.1 线索二叉树的基本概念 59

4.4.2 线索二叉树的逻辑表示图 60

4.5 树和森林 61

4.5.1 树的存储结构 61

4.5.2 森林与二叉树的转换 64

4.5.3 树与二叉树的转换 66

4.5.4 树和森林的遍历 67

4.6 哈夫曼树及其应用 68

4.6.1 最优二叉树(哈夫曼树) 68

4.6.2 哈夫曼编码 71

参考文献 75

第五章 图 76

5.1 图的定义和术语 76

5.2 图的存储结构 79

5.2.1 邻接矩阵 79

5.2.2 邻接链表 81

5.2.3 十字链表 85

5.2.4 邻接多重表 86

5.3 图的遍历 86

5.3.1 深度优先搜索算法 87

5.3.2 广度优先搜索算法 89

5.4 图的连通性问题 91

5.4.1 无向图的连通分量与生成树 91

5.4.2 有向图的强连通分量 94

5.5 最小生成树 96

5.5.1 普里姆算法 96

5.5.2 克鲁斯卡尔算法 99

5.6 有向无环图及其应用 101

5.6.1 拓扑排序 102

5.6.2 关键路径 104

5.7 最短路径 107

5.7.1 从某个源点到其他各顶点的最短路径 107

5.7.2 求每一对顶点之间的最短路径 110

参考文献 113

第六章 查找 114

6.1 查找 114

6.1.1 查找表 114

6.1.2 查找 114

6.2 静态查找表 116

6.2.1 顺序表的查找 116

6.2.2 有序表的查找 117

6.2.3 索引顺序表的查找 120

6.3 动态查找表 121

6.3.1 二叉排序树 121

6.3.2 平衡二叉树 129

6.4 散列表 134

6.4.1 散列表思想 134

6.4.2 散列过程 134

6.4.3 散列技术的特点 134

6.4.4 散列技术的冲突问题 134

参考文献 141

第七章 排序 142

7.1 排序术语及记号 142

7.2 三种代价为?(n2)的排序方法 143

7.2.1 插入排序 143

7.2.2 起泡排序 145

7.2.3 选择排序 146

7.2.4 交换排序算法的时间代价 148

7.3 希尔排序 148

7.4 堆排序 150

7.5 归并排序 153

7.6 快速排序 155

7.6.1 选取枢纽元 156

7.6.2 分割策略 157

7.6.3 小数组 159

7.6.4 实际的快速排序程序 159

7.7 大型结构的排序 161

7.8 排序算法的一般下界 162

7.9 外部排序 164

7.9.1 外部排序模型 164

7.9.2 简单算法 164

7.9.3 多路合并 166

7.9.4 多相合并 167

7.9.5 替换选择 168

参考文献 169

第八章 分类算法 171

8.1 朴素贝叶斯算法 171

8.2 ROCCHIO算法 173

8.3 KNN算法 174

8.3.1 距离度量 174

8.3.2 k值的选择 176

8.3.3 Kd树 177

8.4 决策树 178

8.4.1 ID3算法 178

8.4.2 C4.5算法 179

8.4.3 决策树剪枝 180

8.5 支持向量机 181

8.6 神经网络 184

8.7 分类器集成 186

参考文献 187

第九章 聚类算法 188

9.1 聚类 188

9.1.1 聚类简介 188

9.1.2 聚类分析概述 190

9.1.3 聚类分析方法 190

9.1.4 聚类算法比较 192

9.2 相似度计算 193

9.2.1 相似度计算概述 193

9.2.2 连续型属性计算 193

9.2.3 二值离散型属性的相似性计算方法 194

9.2.4 多值离散型属性的相似性计算方法 196

9.3 K-MEANS算法 196

9.3.1 K-means算法简介 196

9.3.2 K-means算法注意问题 197

9.3.3 K-means算法步骤 199

9.3.4 K-means算法示例 200

9.3.5 K-means算法评价 201

9.4 K-MEDOIDS算法 202

9.4.1 K-medoids算法简介 202

9.4.2 K-medoids算法步骤 203

9.4.3 K-medoids算法的四种情况 204

9.4.4 K-medoids算法例题理解 205

9.5 CLARA算法 207

9.5.1 CLARA算法简介 207

9.5.2 CLARA算法步骤 207

9.5.3 CLARA算法样本数据抽取 208

9.5.4 聚类划分 209

9.5.5 代价计算 210

9.6 层次法 212

9.7 密度法 213

9.8 网格法 214

参考文献 215

第十章 高级算法分析 217

10.1 社交网络定义 217

10.1.1 社交网络的起源 217

10.1.2 在线社交网络的概念 217

10.1.3 在线社交网络的特点 218

10.2 传统的情感分析技术 218

10.2.1 意见定义及分类 219

10.2.2 基于语义规则的情感分析技术 220

10.2.3 基于监督学习的情感分析方法 224

10.2.4 基于话题模型的方法 229

10.2.5 情感摘要技术 230

10.2.6 基于迁移学习机制的情感分析技术 232

10.3 面向短文本的情感分析技术 233

10.4 社交网络群体行为 236

10.4.1 群体互动的关系选择 236

10.4.2 群体互动的内容选择 236

10.4.3 群体互动的时间规律 237

10.4.4 用户行为的模型研究 237

10.5 用户偏好模型 239

10.6 数据挖掘中的关联规则算法 240

10.6.1 关联规则的基本理论和概念 240

10.6.2 Apriori算法研究 241

10.6.3 FP-tree算法研究 243

10.7 基于链接分析的网页排序算法 249

10.7.1 搜索引擎排序算法 250

10.7.2 PageRank算法 251

10.7.3 HITS算法 254

10.7.4 比较PageRank算法和HITS算法 258

参考文献 259