《数据结构实用教程 C语言版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:赵波,霍利,郑巍等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302206590
  • 页数:271 页
图书介绍:本书首先介绍了数据结构的概念及数据结构研究的逻辑结构、存储结构及运算三方面内容涉及的基本概念;然后针对经典的数据结构及各种基本运算的实现算法做了详细阐述。

第1章 绪论 1

1.1 基本术语 1

1.2 数据结构的定义及研究的内容 2

1.2.1 数据的逻辑结构 2

1.2.2 数据的存储结构 5

1.2.3 数据的运算 7

1.3 算法 8

1.3.1 算法的概念及特性 8

1.3.2 算法的描述 8

1.3.3 算法的评价 13

1.4 学习数据结构的意义和目的 17

习题 18

第2章 线性表 19

2.1 线性表的定义及运算 19

2.1.1 线性表的定义及逻辑特征 19

2.1.2 线性表上运算的定义 20

2.1.3 线性表的存储结构 21

2.2 顺序表 21

2.2.1 顺序表的定义及表示 21

2.2.2 线性表运算在顺序表上的实现 23

2.2.3 顺序表应用举例 27

2.3 链表 34

2.3.1 链表的定义及形式 34

2.3.2 单链表 35

2.3.3 循环链表 49

2.3.4 双链表 50

2.3.5 静态链表 52

2.3.6 单链表的应用举例 54

2.4 顺序表和链表的比较 66

习题 67

第3章 栈和队列 68

3.1 栈 68

3.1.1 栈的定义及运算 68

3.1.2 顺序栈及运算的实现 69

3.1.3 链栈及运算的实现 71

3.1.4 栈的应用 72

3.1.5 栈与递归 75

3.2 队列 79

3.2.1 队列的定义及运算 79

3.2.2 顺序队列及运算的实现 80

3.2.3 链队列及运算的实现 83

3.3 栈与队列的比较 86

习题 87

第4章 多维数组及广义表 88

4.1 多维数组 88

4.2 矩阵的压缩存储 90

4.2.1 特殊矩阵 90

4.2.2 稀疏矩阵 94

4.3 广义表 99

4.3.1 广义表的定义 99

4.3.2 广义表的运算 100

习题 101

第5章 树 102

5.1 树的定义 102

5.2 二叉树 104

5.2.1 二叉树的定义及性质 105

5.2.2 二叉树的存储 108

5.2.3 二叉树的遍历及实现算法 112

5.3 线索二叉树 119

5.3.1 中序线索二叉树的定义 120

5.3.2 中序线索二叉树上遍历的实现 122

5.3.3 利用中序线索实现前序遍历和后序遍历 123

5.4 树和森林 127

5.4.1 树和森林的遍历 128

5.4.2 森林与二叉树的转换 128

5.4.3 树的存储 130

5.5 哈夫曼树 132

5.5.1 哈夫曼树的定义及建立 132

5.5.2 哈夫曼编码及译码 137

5.5.3 哈夫曼树应用举例 141

5.6 树与等价类问题 144

习题 147

第6章 图 149

6.1 图的概念 149

6.2 图的存储 153

6.2.1 邻接矩阵 154

6.2.2 邻接表 156

6.2.3 边集数组 159

6.3 图的遍历 160

6.3.1 深度优先搜索遍历 161

6.3.2 广度优先搜索遍历 164

6.3.3 非连通图的遍历 167

6.4 最小生成树 176

6.4.1 普里姆算法 177

6.4.2 克鲁斯卡尔算法 181

6.5 最短路径 183

6.5.1 单源最短路径 184

6.5.2 任意两点间最短路径 190

6.6 拓扑排序 192

6.7 关键路径 196

习题 201

第7章 排序 203

7.1 排序的基本概念 203

7.2 插入排序 205

7.2.1 直接插入排序 205

7.2.2 希尔排序 207

7.3 交换排序 209

7.3.1 起泡排序 209

7.3.2 快速排序 211

7.4 选择排序 214

7.4.1 直接选择排序 214

7.4.2 堆排序 215

7.5 归并排序 220

7.6 基数排序 223

7.7 内排序方法的比较 225

习题 226

第8章 查找 228

8.1 查找的基本概念 228

8.2 顺序表查找 229

8.2.1 顺序查找 229

8.2.2 二分查找 230

8.3 索引查找 234

8.3.1 索引表的组织 234

8.3.2 分块查找 236

8.4 树表查找 238

8.4.1 二叉排序树 238

8.4.2 平衡二叉排序树 244

8.4.3 B-树 251

8.5 散列表查找 256

8.5.1 散列表的概念 256

8.5.2 散列函数的设计 258

8.5.3 解决冲突的方法 259

8.5.4 散列表的应用举例 263

习题 269

参考文献 271