当前位置:首页 > 工业技术
数据结构 使用C语言  第2版

数据结构 使用C语言 第2版PDF格式文档图书下载

工业技术

  • 购买点数:12
  • 作 者:朱战立 刘天时编著
  • 出 版 社:西安:西安交通大学出版社
  • 出版年份:2000
  • ISBN:7560508839
  • 标注页数:329 页
  • PDF页数:340 页
图书介绍

第1章 绪论 1

1.1 数据结构的基本概念 1

1.2 数据类型和抽象数据类型 2

1.3 C语言的数据类型 3

1.4 用C语言描述算法的注意事项 9

1.5 算法设计目标和算法效率度量 10

习题一 12

第2章 线性表 14

2.1 线性表的逻辑结构及其基本操作 14

2.2.1 顺序表 15

2.2 线性表的顺序存储结构——顺序表 15

2.2.2 顺序表上的基本操作 16

2.2.3 顺序存储结构的特点 18

2.3 线性表的链式存储结构——链表 19

2 3.1 单链表 19

2.3.2 单链表中的基本操作 20

2.3.3 双向链表 26

2.3.4 循环单链表 29

2.3.5 链式存储结构的特点 30

2.4 静态链表 31

2.5.1 数据传递问题 36

2.5 应用实例 36

2.5.2 有序线性表合并问题 39

2.5.3 约瑟夫环问题 45

习题二 48

第3章 堆栈与队列 50

3.1 堆栈 50

3.1.1 堆栈的定义及其操作 50

3.1.2 堆栈的顺序存储结构 51

3.1.3 堆栈的链式存储结构 54

3.2 堆栈应用——表达式计算 56

3.3.2 队列的顺序存储结构 62

3.3 队列 62

3.3.1 队列的定义及其操作 62

3.3.3 队列的链式存储结构 67

3.4 队列应用举例 68

3.4.1 事件规划问题 68

3.4.2 键盘输入循环缓冲区问题 72

习题三 74

第4章 串 75

4.1 串及其基本操作 75

4.1.1 串的概念 75

4.1.2 串的基本操作 76

4.2.1 串的静态存储结构 77

4.2 串的存储结构 77

4.2.2 串的动态存储结构 78

4.3 串基本操作的实现 79

4.4 串的模式匹配算法 85

4.4.1 Brute-Force算法 85

4.4.2 KMP算法 87

4.5 串应用——文本编辑软件 91

习题四 97

5.1.1 数组的定义 99

第5章 数组 99

5.1 数组的定义及其基本操作 99

5.1.2 数组的基本操作 100

5.2 数组的存储结构 100

5.3 特殊矩阵的压缩存储 103

5.3.1 对称矩阵的压缩存储 103

5.3.2 对角矩阵的压缩存储 104

5.4 稀疏矩阵的压缩存储 105

5.4.1 稀疏矩阵的三元组顺序表 105

5.4.2 稀疏矩阵的三元组十字链表 108

习题五 112

6.1 递归的概念 114

第6章 递归 114

6.2 用C语言实现递归 117

6.3 递归算法的设计 121

6.4 递归模拟 124

6.4.1 递归的实现机制 124

6.4.2 用非递归算法模拟递归算法 124

习题六 132

7.1 树 134

7.1.1 树的定义 134

第7章 树和二叉树 134

7.1.2 树的表示方法 135

7.1.3 树的基本术语 136

7.1.4 树的基本操作 136

7.1.5 树的存储结构 136

7.2 二叉树 139

7.2.1 二叉树的基本概念 139

7.2.2 二叉树的性质 140

7.2.3 二叉树的存储结构 142

7.2.4 二叉树的基本操作及其实现 145

7.3.1 二叉树的遍历 149

7.3 二叉树的遍历 149

7.3.2 二叉树遍历的应用 153

7.3.3 递归遍历的非递归模拟 155

7.4 线索二叉树 160

7.5 二叉树的应用——哈夫曼树 168

7.5.1 哈夫曼树的基本概念 168

7.5.2 哈夫曼树在编码问题中的应用 169

7.5.3 哈夫曼树在判定问题中的应用 174

7.6 树、森林与二叉树的转换 175

7.6.1 树转换为二叉树 175

7.6.3 二叉树还原为树或森林 177

7.6.2 森林转换为二叉树 177

7.7 树和森林的遍历 178

7.7.1 树的遍历 178

7.7.2 森林的遍历 179

7.8 树的应用 179

7.8.1 判定树 179

7.8.2 集合的表示 181

习题七 182

第8章 图 185

8.1 图的基本概念 185

8.2.1 邻接矩阵 188

8.2 图的存储结构 188

8.2.2 邻接表 191

8.2.3 十字链表 198

8.2.4 邻接多重表 199

8.3 图的遍历 200

8.3.1 深度优先搜索的遍历方法 200

8.3.2 广度优先搜索的遍历方法 202

8.4 最小生成树 204

8.4.1 最小生成树的基本概念 204

8.4.2 prim算法构造最小生成树 205

8.4.3 Kruskal算法构造最小生成树 208

8.5 最短路径问题 211

8.5.1 单源最短路径 211

8.5.2 每对顶点之间的最短路径 215

8.6 关键路径问题 217

习题八 221

第9章 排序 223

9.1 排序的基本概念 223

9.2 插入排序 225

9.2.1 直接插入排序 225

9.2.2 希尔排序 227

9.3.1 直接选择排序 230

9.3 选择排序 230

9.3.2 堆排序 232

9.4 交换排序 238

9.4.1 冒泡排序 238

9.4.2 快速排序 239

9.5 归并排序 243

9.6 基数排序 246

习题九 253

10.1 基本概念 255

第10章 查找 255

10.2 顺序表的静态查找 256

10.2.1 顺序查找 256

10.2.2 二分查找 258

10.2.3 分块查找 262

10.3 树表的动态查找 265

10.3.1 二叉排序树查找 265

10.3.2 B_树查找 272

10.4 哈希表的查找 278

10.4.1 基本概念 278

10.4.2 构造哈希函数的方法 279

10.4.3 哈希冲突的解决方法 281

10.4.4 哈希表的查找 283

10.4.5 哈希算法举例 283

习题十 286

第11章 文件 287

11.1 文件概述 287

11.1.1 文件的演变过程及基本概念 287

11.1.2 文件的存储介质 288

11.1.3 文件的基本操作 289

11.2 顺序文件 290

11.3 索引文件 291

11.4 ISAM文件 292

11.5 VSAM文件 295

11.6 散列文件 297

习题十一 298

附录1 上机实验实例 299

附录1.1 有序线性链表的删除 299

附录1.2 中心对称字符串判断 304

附录1.3 计算机模拟迷宫问题 308

附录2 部分习题解答 313

参考文献 329

查看更多关于数据结构 使用C语言 第2版的内容

返回顶部