当前位置:首页 > 工业技术
数据结构(C语言描述)
数据结构(C语言描述)

数据结构(C语言描述)PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:方贤进主编
  • 出 版 社:长沙:国防科技大学出版社
  • 出版年份:2010
  • ISBN:9787810998031
  • 页数:244 页
图书介绍:本书所选内容都是高职高专计算机及相关专业必须掌握的知识点,全书共9章,主要内容包括:线性表、栈和队列、数组、串和广义表、树、图、查找和排序等。各章中对所涉及的数据结构与算法均给出了通俗的解释和类C语言描述,其中的重点内容是以C语言函数或过程形式给出的。
《数据结构(C语言描述)》目录

第1章 绪论 1

1.1 引言 1

1.2 基本术语 3

1.2.1 数据及相关概念 3

1.2.2 数据的逻辑结构 4

1.2.3 数据的存储结构 5

1.2.4 数据类型 6

1.3 算法分析 9

1.3.1 算法的概念及描述 9

1.3.2 算法的复杂度分析 11

1.3.3 算法的设计要求 14

1.4 实例解析 15

本章小结 17

习题1 17

第2章 线性表 19

2.1 线性表的基本概念 19

2.1.1 线性表的定义及特性 19

2.1.2 线性表的抽象数据类型 20

2.2 线性表的顺序存储及操作 21

2.2.1 顺序表 21

2.2.2 顺序表的基本操作 23

2.2.3 顺序表基本操作的算法分析 25

2.3 线性表的链式存储及操作 26

2.3.1 单链表及其基本操作 26

2.3.2 循环链表及其基本操作 34

2.3.3 双向链表及其基本操作 35

2.4 各种存储结构的线性表的比较 38

2.5 实例解析与编程实现 39

本章小结 42

习题2 43

第3章 栈和队列 44

3.1 栈 44

3.1.1 栈的基本概念 44

3.1.2 栈的顺序存储及顺序栈的操作 45

3.1.3 栈的链式存储及链栈的操作和应用 49

3.1.4 栈的简单应用与递归 52

3.2 队列 54

3.2.1 队列的基本概念 54

3.2.2 队列的顺序存储、操作及应用 55

3.2.3 队列的链式存储及链队列的操作 60

3.3 实例解析与编程实现 63

本章小结 67

习题3 68

第4章 数组、串与广义表 69

4.1 数组的基本概念与特性 69

4.2 数组的顺序存储结构及其操作 70

4.3 矩阵的压缩存储 72

4.3.1 特殊矩阵的压缩存储 73

4.3.2 稀疏矩阵的压缩存储 75

4.4 串 81

4.4.1 串的基本概念 81

4.4.2 串的基本操作简述 82

4.4.3 串的存储及基本操作实现 84

4.4.4 串的模式匹配 89

4.5 广义表 94

4.5.1 广义表的定义 94

4.5.2 广义表的存储结构 95

4.5.3 广义表的基本运算 97

4.6 实例解析与编程实现 98

本章小结 101

习题4 102

第5章 树 103

5.1 树的基本概念 103

5.1.1 树的定义 103

5.1.2 有关树的基本术语 104

5.2 二叉树 105

5.2.1 二叉树的基本概念 105

5.2.2 二叉树的性质 107

5.2.3 二叉树的存储结构 109

5.2.4 二叉树的遍历和线索二叉树 111

5.3 树和森林 122

5.3.1 树的存储结构 122

5.3.2 树、森林与二叉树的关系 126

5.4 哈夫曼树 129

5.4.1 哈夫曼树的基本概念 129

5.4.2 哈夫曼树的构造算法 130

5.4.3 哈夫曼编码及算法实现 132

5.5 实例解析与编程实现 133

本章小结 136

习题5 137

第6章 图 138

6.1 图的定义和术语 138

6.2 图的存储结构 141

6.2.1 邻接矩阵 141

6.2.2 邻接表 143

6.3 图的遍历 145

6.3.1 深度优先搜索 146

6.3.2 广度优先搜索 147

6.3.3 图的连通分量计算 149

6.4 图的应用 150

6.4.1 最小生成树 150

6.4.2 最短路径 153

6.4.3 拓扑排序 155

6.5 实例解析与编程实现 157

本章小结 164

习题6 165

第7章 查找表 166

7.1 基本概念与术语 166

7.2 顺序表的查找 167

7.2.1 顺序查找 167

7.2.2 有序表的折半查找 168

7.2.3 斐波那契查找 171

7.2.4 分块查找 171

7.3 动态查找表 173

7.3.1 二叉排序树 173

7.3.2 二叉排序树中插入结点和构造二叉排序树 174

7.3.3 二叉排序树中删除结点 176

7.4 哈希表 179

7.4.1 哈希表与哈希方法 179

7.4.2 常用的构造哈希函数的方法 180

7.4.3 处理冲突的方法 181

7.4.4 哈希表的查找分析 183

7.5 实例解析 184

本章小结 187

习题7 187

第8章 排序 188

8.1 基本概念 188

8.2 插入排序 190

8.2.1 直接插入排序 190

8.2.2 希尔排序 192

8.3 交换排序 193

8.3.1 冒泡排序 194

8.3.2 快速排序 196

8.4 选择排序 198

8.4.1 简单选择排序 199

8.4.2 堆排序 200

8.5 归并排序 203

8.6 基数排序 205

8.6.1 多关键字排序 205

8.6.2 链式基数排序 206

8.7 外部排序 209

8.7.1 外部排序的方法 209

8.7.2 多路平衡归并的实现 211

8.8 实例解析与编程实现 212

本章小结 217

习题8 218

第9章 实验 219

实验1 多项式的数组表示 219

实验2 串的匹配算法及实现 221

实验3 八皇后问题 224

实验4 二叉树的遍历 226

实验5 旅行商问题 231

实验6 哈夫曼编码 235

实验7 快速排序 238

实验8 折半查找 240

参考文献 244

返回顶部