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

数据结构 C语言版PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:陈明编著;陈明丛书主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302112304
  • 页数:381 页
图书介绍:本书系统地介绍了各种典型的数据结构,主要包括线性表、栈和队列、串、数组和广义表、树、图、查找、排序、递归和文件等,为了加强对算法的理解,还介绍了算法分析方面的内容。本书选材精炼,概念清楚,注重实用,逻辑性强。书中所涉及的数据结构与算法给出了C语言描述,并附有大量的习题,便于学生理解与掌握。
《数据结构 C语言版》目录

目录 1

第1章 绪论 1

1.1 数据结构的重要性 1

1.2 基本术语 2

1.3 数据结构的概念 5

1.4 数据的逻辑结构 7

1.5 数据的存储结构 8

1.6 数据的运算 10

1.7 数据的逻辑结构、存储结构及运算的关系 11

1.8 算法的描述 11

1.9 本章小结 15

1.10 习题一 15

1.11 上机实验 16

第2章 算法分析 17

2.1 算法分析的概念 17

2.2 算法运行时间举例 19

2.3 最大连续子序列之和问题 20

2.3.1 简单易懂的O(N3)算法 20

2.3.2 一个改进的O(N2)算法 22

2.3.3 一个线性算法 23

2.4 静态搜索问题 24

2.4.1 顺序搜索 25

2.4.2 二分搜索 25

2.4.3 插值搜索 27

2.5 检验一个算法分析 27

2.6 Big-Oh分析法的限制 28

2.8 习题二 29

2.7 本章小结 29

第3章 线性表 31

3.1 线性表及逻辑结构 31

3.2 线性表的顺序存储 35

3.2.1 顺序存储 35

3.2.2 顺序结构线性表的运算 36

3.2.3 顺序存储结构的特点 40

3.3 线性表的链式存储 41

3.3.1 线性链表 41

3.3.2 线性链表的运算 44

3.3.3 静态链表 49

3.3.5 循环链表 50

3.3.4 静态链表的运算 50

3.3.6 循环链表的运算 51

3.3.7 双向链表 52

3.3.8 双向链表的运算 53

3.3.9 链式存储结构的特点 55

3.4 链式存储结构的应用 56

3.4.1 约瑟夫问题 56

3.4.2 一元多项式求和 57

3.4.3 在集合方面的应用 61

3.5 本章小结 62

3.6 习题三 63

3.7 上机实验 64

4.1.1 栈的定义 65

第4章 栈和队列 65

4.1 栈 65

4.1.2 栈的顺序存储结构 66

4.1.3 栈的链式存储结构 70

4.1.4 顺序栈和链式栈的比较 72

4.2 栈的应用 73

4.2.1 迷宫问题 73

4.2.2 算术表达式求值 76

4.2.3 子程序的调用和返回 79

4.2.4 数制转换 79

4.2.5 行编辑 80

4.3 队列 81

4.3.1 队列的定义 81

4.3.2 队列的顺序存储 82

4.3.3 队列的链式存储 88

4.3.4 优先队列 92

4.4 队列的应用 93

4.4.1 解决设备速度不匹配问题 93

4.4.2 舞伴问题 93

4.5 本章小结 95

4.6 习题四 95

4.7 上机实验 96

第5章 串 97

5.1 串的基本概念 97

5.2 串的存储结构 98

5.2.1 串的静态存储结构 98

5.2.2 串的动态存储结构 100

5.3.1 串的基本运算 102

5.3 串的基本运算和算法 102

5.3.2 实现串的基本运算的算法 103

5.4 模式匹配 107

5.4.1 模式匹配的BF算法 107

5.4.2 模式匹配的KMP算法 110

5.5 串在文本编辑中的应用 114

5.6 本章小结 116

5.7 习题五 116

5.8 上机实验 117

6.1 数组的定义及其基本操作 118

6.1.1 数组的定义 118

第6章 数组与广义表 118

6.1.2 数组的基本操作 119

6.2 数组的顺序存储结构 120

6.3 矩阵的压缩存储 124

6.3.1 特殊矩阵的压缩存储 124

6.3.2 稀疏矩阵的压缩存储 126

6.4 广义表的概念 141

6.5 广义表的存储结构表示 142

6.6 广义表的运算 145

6.7 本章小结 145

6.8 习题六 145

6.9 上机实验 147

7.1 树的定义及基本操作 148

7.1.1 树的定义 148

第7章 树 148

7.1.2 树的表示形式 149

7.1.3 树的常用概念 150

7.1.4 树的基本操作 150

7.2 二叉树 151

7.2.1 二叉树的定义 151

7.2.2 二叉树的性质 152

7.2.3 二叉树的存储结构 155

7.2.4 二叉树的遍历 157

7.2.5 二叉树遍历的应用 160

7.3 线索二叉树 162

7.3.1 线索二叉树的定义 162

7.3.2 线索二叉树的遍历 163

7.3.3 线索二叉树的运算 167

7.4 树、森林和二叉树的关系 168

7.4.1 树的存储结构 168

7.4.2 森林与二叉树的转换 172

7.4.3 树和森林的遍历 175

7.5 哈夫曼树及其应用 176

7.5.1 哈夫曼树的定义 176

7.5.2 哈夫曼树的构造 177

7.5.3 哈夫曼树在编码问题中的应用 179

7.6 本章小结 183

7.7 习题七 184

7.8 上机实验 187

8.1 图的基本概念 188

第8章 图 188

8.2 图的存储结构 192

8.2.1 邻接矩阵 192

8.2.2 邻接表 195

8.2.3 十字链表 198

8.2.4 邻接多重表 200

8.3 图的遍历 201

8.3.1 深度优先搜索 202

8.3.2 广度优先搜索 204

8.4 生成树 206

8.4.1 普里姆算法 207

8.4.2 克鲁斯卡尔算法 210

8.5.1 单源最短路径 213

8.5 最短路径 213

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

8.6 拓扑排序 217

8.7 关键路径 221

8.8 本章小结 228

8.9 习题八 229

8.10 上机实验 232

第9章 查找 233

9.1 基本概念 233

9.2 线性表的查找 234

9.2.1 顺序查找 234

9.2.2 折半查找 236

9.2.3 分块查找 238

9.3 树表的查找 241

9.3.1 二叉查找树 242

9.3.2 平衡二叉树 248

9.3.3 B树 254

9.4 哈希表的查找 256

9.4.1 哈希表 256

9.4.2 构造哈希表的基本方法 257

9.4.3 解决冲突的方法 259

9.4.4 哈希表的查找方法 262

9.5 各种查找方法的比较 263

9.6 本章小结 264

9.7 习题九 264

9.8 上机实验 266

10.1 基本概念 267

第10章 排序 267

10.1.1 排序方法的分类 269

10.1.2 排序算法分析 269

10.2 内部排序 270

10.2.1 插入排序 270

10.2.2 冒泡排序 274

10.2.3 快速排序 276

10.2.4 选择排序 278

10.2.5 归并排序 284

10.2.6 基数排序 287

10.3 内部排序方法比较 291

10.4 外部排序简介 293

10.5 本章小结 293

10.6 习题十 294

10.7 上机实验 296

11.1 递归的定义 297

第11章 递归 297

11.2 常见递归问题 298

11.2.1 汉诺塔问题 298

11.2.2 八皇后问题 300

11.2.3 组合公式的计算 302

11.3 递归的实现 303

11.4 递归转化为非递归的一般过程 306

11.5 递归的时间和空间复杂度 310

11.6 本章小结 311

11.7 习题十一 311

11.8 上机实验 312

12.1 外存储器的介绍 313

第12章 文件 313

12.2 文件的概念 314

12.2.1 文件及其类别 315

12.2.2 文件的操作 316

12.3 文件的组织 317

12.3.1 顺序文件 318

12.3.2 索引文件 319

12.3.3 散列文件 324

12.3.4 多关键字文件 326

12.4 本章小结 328

12.5 习题十二 328

附录A 各章习题答案与提示 330

参考文献 381

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