当前位置:首页 > 工业技术
数据结构与算法
数据结构与算法

数据结构与算法PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:陈卫卫,王庆瑞编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2010
  • ISBN:9787040310474
  • 页数:411 页
图书介绍:本书是教育部教改立项“高等学校计算机科学与技术专业核心课程内容实施方案研究”的研究成果。本书面向计算机专业应用型人才培养要求编写而成,内容包括顺序表、链表、栈、队、矩阵、字符串、广义表、树、二叉树、检索树、哈夫曼树、判定树、散列表、最优检索树、AVL树、红黑树、B树、B+树、2-3树、Trie树、Union-find树、图等结构,各结构的特点和存储方法,实现查找、插入、删除、遍历、搜索算法设计方法和时空效率;图的最小生成树和最短路径求解算法、内排序算法、文件结构和外排序算法;问题的固有难度、算法设计的一般方法、数据结构的类封装方法等。并配有各种题型的400多道习题,及部分习题的参考答案。本书语言通俗流畅,叙述简洁,内容丰富,编排独特,可读性强,图文规范,术语统一。可作为普通高校、职业学校、远程教育的教材和教学参考书,或程序设计爱好者的理论指导书。
《数据结构与算法》目录

第1章 概述 1

1.1 基本概念 1

1.1.1 数据结构的概念 1

1.1.2 抽象数据类型 3

1.1.3 算法的概念 5

1.2 算法的描述和评价 6

1.2.1 算法的描述 6

1.2.2 算法的评价标准和评价方法 10

1.2.3 计算时间复杂性的一般方法 14

习题 16

第2章 表结构 20

2.1 基本概念和存储方法 20

2.1.1 基本概念 20

2.1.2 存储方法 22

2.2 顺序表 25

2.2.1 插入和删除 25

2.2.2 查找 27

2.3 链表 31

2.3.1 基本概念和链操作方法 31

2.3.2 链表的种类 36

2.3.3 链表的构造 39

2.3.4 链表的遍历 42

2.3.5 链表的插入和删除 44

2.4 栈和队 50

2.4.1 基本概念 50

2.4.2 进栈和退栈算法 52

2.4.3 进队和出队算法 56

2.4.4 应用举例 60

2.5 静态链表 62

2.5.1 静态链表的一般原理和操作方法 62

2.5.2 静态链表的应用 65

2.5.3 单链域的双向链表 69

2.6 矩阵 72

2.6.1 基本概念和存储方法 72

2.6.2 稀疏矩阵运算示例 76

2.7 字符串 81

2.7.1 基本概念和存储方法 81

2.7.2 简单模式匹配算法 83

2.7.3 KMP算法 85

2.7.4 BM算法和KR算法 90

2.8 广义表 93

2.9 目录存储和索引目录存储 95

习题 97

第3章 树结构 116

3.1 基本概念和存储方法 116

3.1.1 普通树的基本概念 116

3.1.2 二叉树的基本概念 120

3.1.3 普通树与二叉树的相互转换 124

3.1.4 树的存储方法 126

3.2 二叉树的遍历和构造 129

3.2.1 二叉树的遍历 129

3.2.2 遍历序列的前驱和后继 133

3.2.3 遍历的应用示例 135

3.2.4 二叉树的构造 138

3.2.5 非递归的遍历算法 142

3.3 检索树 144

3.3.1 检索树的查找 144

3.3.2 检索树的插入和构造 146

3.3.3 检索树的删除 148

3.4 哈夫曼树 152

3.4.1 哈夫曼算法 152

3.4.2 哈夫曼树的构造和应用 153

3.5 判定树 156

习题 159

第4章 图结构 170

4.1 基本概念 170

4.1.1 图的定义和种类 170

4.1.2 有关术语 171

4.2 图的存储方法 174

4.2.1 号名对照表 174

4.2.2 邻接矩阵的顺序存储 175

4.2.3 邻接表 176

4.2.4 邻按表的变种 178

4.3 图的遍历 179

4.3.1 先深搜索 180

4.3.2 先深搜索的应用 184

4.3.3 先广搜索 187

4.4 无向图的双连通性 189

4.4.1 关节点 189

4.4.2 找关节点的算法 190

4.5 最小生成树 193

4.5.1 Kruskal算法 194

4.5.2 Prim算法 199

4.6 最短路径 202

4.6.1 Dijkstra算法 202

4.6.2 Floyd算法 206

4.7 有向无回路图 208

4.7.1 基本概念 208

4.7.2 拓扑排序 210

4.7.3 关键路径 213

习题 217

第5章 集合运算的数据结构 227

5.1 集合的基本运算 227

5.2 散列表 229

5.2.1 散列函数 229

5.2.2 散列表的处理算法 233

5.2.3 散列表的性能分析 236

5.3 最优检索树 239

5.4 平衡树 243

5.4.1 AVL树 243

5.4.2 红黑树 251

5.4.3 B树 260

5.4.4 B+树 263

5.4.5 Trie树 267

5.5 union-find运算 269

5.5.1 树结构的union-find算法 269

5.5.2 表结构的union-find算法 272

习题 275

第6章 排序 279

6.1 基本概念 279

6.2 插入排序 280

6.2.1 直接插入排序 280

6.2.2 二分插入排序 283

6.2.3 希尔排序 284

6.3 交换排序 287

6.3.1 冒泡排序 288

6.3.2 快速排序 290

6.4 选择排序 296

6.4.1 一般原理和效率分析 296

6.4.2 树选排序 297

6.4.3 堆排序 298

6.5 合并排序 304

6.5.1 递归的合并排序 304

6.5.2 非递归的合并排序 306

6.6 基数排序 309

6.6.1 基本原理和示例 309

6.6.2 算法的实现和分析 312

6.7 外部排序 314

6.7.1 文件的组织结构 314

6.7.2 顺串的合并 318

6.7.3 初始顺串的生成 327

6.7.4 最佳合并树 329

6.7.5 磁带排序 331

习题 333

第7章 问题的固有难度和算法设计的一般方法 343

7.1 问题的固有难度 343

7.1.1 算法的重要地位 343

7.1.2 问题的固有难度 344

7.2 不确定性算法和NP-完全问题 347

7.2.1 不确定性算法 347

7.2.2 三大重要的问题类 349

7.3 算法设计的一般方法 351

7.3.1 递归、分治和平衡 351

7.3.2 贪心法 357

7.3.3 动态规划法 359

7.3.4 搜索-回溯法 361

习题 364

第8章 数据结构的类实现 367

8.1 表结构的类 367

8.1.1 栈类和队类 367

8.1.2 顺序表类 369

8.1.3 链表类 372

8.1.4 用模板实现链表类 376

8.2 树结构的类 379

8.2.1 二叉树类 379

8.2.2 检索树类 381

8.3 图结构的类 384

习题 388

附录 389

附录A 名词中英文对照索引 389

附录B 部分习题参考答案 398

参考文献 410

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