《数据结构》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:吴海燕,胡华,王勋主编
  • 出 版 社:杭州:浙江大学出版社
  • 出版年份:2009
  • ISBN:9787308065672
  • 页数:222 页
图书介绍:本书从数据结构的逻辑结构、存储结构和数据的运算等几个方面去介绍了线性表、堆栈、队列、串、数组、树、图和文件等常用的数据结构,以及程序设计中经常出现的排序和查找算法。全书共分九个章节,第一章综述了数据、数据结构和抽象数据类型等基本概念;第二章至第六上述的几种数据结构及其应用;第七章至第八章讨论排序和查找的各种算法;第9章介绍常用的文件结构。全书采用C语言作为数据结构和算法的描述语言。

第一章 绪论 1

1.1 为什么要学习数据结构 1

1.2 基本概念和术语 2

1.3 算法(Algorithm)描述 3

1.4 算法分析 4

习题 6

第二章 线性表 8

2.1 线性表的概念 8

2.2 顺序表 9

2.2.1 顺序表的定义和特点 10

2.2.2 顺序表的类定义及其操作 10

2.2.3 顺序表的性能分析 17

2.2.4 顺序表的应用 19

2.3 单链表 20

2.3.1 单链表 20

2.3.2 单链表的类定义 22

2.4 线性链表的其他变形 26

2.4.1 循环链表 26

2.4.2 双向链表 27

2.5 链表的应用:多项式及其运算 29

2.5.1 多项式的表示 30

2.5.2 多项式的加法 31

习题 32

第三章 堆栈和队列 35

3.1 堆栈的定义 35

3.2 堆栈的表示和实现 36

3.3 堆栈的应用 37

3.3.1 数制转换 38

3.3.2 括弧匹配检验 39

3.3.3 行编辑程序问题 40

3.3.4 迷宫问题 41

3.3.5 表达式求解问题 44

3.4 堆栈与递归 49

3.4.1 递归 49

3.4.2 栈区变化情况 52

3.4.3 递归与非递归的转换 53

3.5 队列 56

3.6 循环队列 57

3.7 循环队列的应用 59

习题 59

第四章 数组和串 61

4.1 数组定义 61

4.2 数组的存储结构 62

4.3 特殊矩阵的压缩存储 63

4.3.1 对称矩阵 63

4.3.2 三角矩阵 64

4.3.3 对角矩阵 64

4.3.4 稀疏矩阵 65

4.4 广义表 71

4.4.1 广义表的存储结构和操作 72

4.5串 75

4.5.1 串的定义 75

4.5.2 串的顺序存储结构 76

4.5.3 串的模式匹配算法 76

习题 81

第五章 树和二叉树 82

5.1 树 82

5.1.1 树的定义和基本术语 82

5.1.2 树的表示方法 85

5.1.3 树的抽象数据类型 87

5.1.4 树的存储结构 89

5.2 二叉树 94

5.2.1 二叉树(Binary Tree)的定义 95

5.2.2 二叉树的两种特殊形态 96

5.2.3 二叉树的性质 97

5.2.4 二叉树的抽象数据类型 100

5.2.5 二叉树的存储结构 102

5.2.6 二叉树的二叉链存储结构的实现及应用 105

5.3 二叉树的遍历 109

5.3.1 二叉树的基本遍历方法 109

5.3.2 二叉树的层次遍历方法 112

5.4 线索二叉树 113

5.5 二叉树、树和森林 116

5.5.1 树和二叉树的转换 116

5.5.2 森林和二叉树的转换 117

5.6 树的应用 118

5.6.1 哈夫曼树(Huffman) 118

5.6.2 哈夫曼树的构造 119

5.6.3 哈夫曼树的应用 120

5.6.4 哈夫曼树的编码问题设计与实现 121

习题 125

第六章 图 127

6.1 图 127

6.1.1 图的基本术语 127

6.1.2 图的抽象数据类型ADT 130

6.2 存储结构 131

6.2.1 邻接矩阵存储结构 131

6.2.2 邻接表存储结构 133

6.2.3 十字链表存储结构 134

6.2.4 邻接多重表存储结构 135

6.3 图的遍历 137

6.3.1 深度优先搜索 138

6.3.2 广度优先搜索 139

6.3.3 连通分量 140

6.4 最小生成树 141

6.4.1 基本概念 142

6.4.2 Kruskal算法 143

6.4.3 Prim算法 145

6.5 最短路径 146

6.5.1 从某个源点到其他各顶点的最短路径 147

6.5.2 每一对顶点之间的最短路径 149

6.6 有向无环图及其应用 151

6.6.1 基本概念 151

6.6.2 AOV网和拓扑排序 152

6.6.3 AOE网和关键路径 154

习题 158

第七章 查找 160

7.1 查找的基本概念 160

7.2 静态查找表 161

7.2.1 顺序表的查找 161

7.2.2 有序表的查找 162

7.2.3 索引顺序表的查找 166

7.3 动态查找表 168

7.3.1 二叉查找树(二叉排序树) 168

7.32 平衡二叉树 171

7.4 哈希表 180

7.4.1 基本概念 180

7.4.2 哈希函数构造方法 180

7.4.3 处理冲突的方法 181

7.4.4 哈希表的查找及分析 185

习题 185

第八章 排序 187

8.1 排序的基本概念 187

8.2 插入排序(insertion sort) 187

8.2.1 直接插入排序 187

8.2.2 希尔排序(Shell Sort) 189

8.3 选择排序(selection sort) 191

8.3.1 简单选择排序 191

8.3.2 堆排序 192

8.4 交换排序 195

8.4.1 冒泡排序(bubble sort) 195

8.4.2 快速排序(quick sort) 197

8.5 归并排序(merge sort) 198

8.6 基数排序(radix sort) 202

8.6.1 多关键字排序 202

8.6.2 链式基数排序 203

8.7 性能比较 206

习题 207

第九章 文件 208

9.1 有关文件的基本概念 208

9.1.1 文件概念 208

9.1.2 文件分类 209

9.2 文件的逻辑结构及物理结构 209

9.2.1 文件的逻辑结构及操作 209

9.2.1 文件的存储结构(亦称物理结构). 210

9.3 顺序文件 210

9.4 索引文件 211

9.5 ISAM文件和VSAM文件 213

9.5.1 ISAM文件 213

9.5.2 VSAM文件 216

9.6 散列文件 220

习题 220

参考文献 222