《数据结构》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:韩利凯,朱浩悦主编;高寅生,杨彩霖副主编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2016
  • ISBN:9787517045410
  • 页数:220 页
图书介绍:本书系统地介绍了各种常用的数据结构与算法,共分为10章。第1章为绪论,引入数据结构与算法的一些基本概念;第2~7章分别介绍线性表、栈与队列、串、数组与广义表、树与二叉树和图等几种基本的数据结构;第8~10章分别介绍各种查找和内、外排序的基本运算,它们都是数据处理中广泛使用的技术;第11章列举了数据结构课程设计实例,通过综合训练,培养学生分析问题、解决问题、编程和动手操作等多方面的能力,并运用所学的数据结构知识去解决实际问题。

第1章 绪论 1

1.1 数据结构的研究内容 1

1.2 基本概念和术语 4

1.2.1 数据、数据元素、数据项和数据对象 4

1.2.2 数据结构 4

1.2.3 数据类型和抽象数据类型 8

1.3 算法与数据结构 12

1.3.1 数据结构上的基本运算 13

1.3.2 算法的定义及特性 14

1.3.3 算法分析 14

1.4 本章小结 25

习题1 26

第2章 线性表 29

2.1 线性表的概念及其抽象数据类型定义 29

2.1.1 线性表的逻辑结构 29

2.1.2 线性表的抽象数据类型定义 30

2.2 线性表的顺序存储 31

2.2.1 线性表的顺序存储结构 31

2.2.2 线性表顺序存储结构上的基本运算 33

2.3 线性表的链式存储 36

2.3.1 单链表 36

2.3.2 单链表上的基本运算 37

2.3.3 循环链表 43

2.3.4 双向链表 44

2.3.5 静态链表 46

2.4 线性表应用——一元多项式的表示及相加 47

2.5 顺序表与链表的综合比较 50

2.5.1 顺序表和链表的比较 50

2.5.2 线性表链式存储方式的比较 51

2.6 本章小结 51

习题2 52

第3章 限定性线性表——栈与队列 55

3.1 栈 55

3.1.1 栈的定义 55

3.1.2 栈的表示和实现 57

3.1.3 栈的应用举例 61

3.2 队列 63

3.2.1 队列的定义 63

3.2.2 队列的表示和实现 65

3.2.3 队列的应用举例 70

3.3 本章小结 73

习题3 74

第4章 串 76

4.1 串的基本概念 76

4.1.1 串的定义 76

4.1.2 串的基本操作 77

4.2 串的存储实现 79

4.2.1 定长顺序串表示 79

4.2.2 堆分配存储表示 82

4.2.3 串的链接存储表示 84

4.2.4 子串定位运算的实现 86

4.3 串的应用举例 88

4.4 本章小结 89

习题4 90

第5章 数组和广义表 92

5.1 数组的定义与基本操作 92

5.1.1 数组的定义 92

5.1.2 数组的基本操作 93

5.2 数组的顺序存储和实现 93

5.2.1 数组的顺序存储结构 93

5.2.2 数组的顺序存储的实现 95

5.3 特殊矩阵的压缩存储 96

5.3.1 规律分布的特殊矩阵 96

5.3.2 稀疏矩阵 98

5.4 广义表 100

5.4.1 广义表的概念 101

5.4.2 广义表的存储结构 102

5.4.3 广义表的操作实现 104

5.5 本章小结 106

习题5 106

第6章 树与二叉树 109

6.1 树的定义与基本术语 109

6.2 二叉树 111

6.2.1 二叉树的定义与基本操作 112

6.2.2 二叉树的性质 112

6.2.3 二叉树的存储结构 114

6.3 二叉树的遍历与线索化 116

6.3.1 二叉树的遍历 116

6.3.2 遍历算法应用 119

6.3.3 线索二叉树 122

6.3.4 由遍历序列确定二叉树 126

6.4 树、森林和二叉树的关系 127

6.4.1 树的存储结构 127

6.4.2 树、森林与二叉树的相互转换 129

6.4.3 树与森林的遍历 132

6.5 哈夫曼树及其应用 134

6.5.1 哈夫曼树 134

6.5.2 哈夫曼编码 136

6.6 本章小结 138

习题6 138

第7章 图 141

7.1 图的定义与基本术语 141

7.1.1 图的定义 141

7.1.2 图的基本术语 141

7.2 图的存储结构 143

7.2.1 邻接矩阵表示法 143

7.2.2 邻接表表示法 145

7.2.3 十字链表 146

7.2.4 邻接多重表 148

7.3 图的遍历 149

7.3.1 深度优先搜索 149

7.3.2 广度优先搜索 150

7.4 图的应用 152

7.4.1 图的连通性问题 152

7.4.2 有向无环图的应用 156

7.4.3 最短路径问题 160

7.5 本章小结 162

习题7 162

第8章 查找 164

8.1 查找的基本概念 164

8.2 顺序查找法 165

8.3 折半查找法 166

8.4 散列表及其查找 169

8.4.1 常用的散列函数 170

8.4.2 处理冲突的方法 171

8.4.3 散列表的查找分析 175

8.5 本章小结 177

习题8 177

第9章 内部排序 179

9.1 排序的概念 179

9.1.1 排序的稳定性 179

9.1.2 排序用到的结构与操作 179

9.2 插入排序 180

9.2.1 直接插入排序 180

9.2.2 直接插入排序复杂度分析 181

9.2.3 其他插入排序 181

9.3 交换排序 184

9.3.1 最简单的交换排序 184

9.3.2 冒泡排序 184

9.3.3 冒泡排序的优化 185

9.3.4 快速排序 186

9.4 选择排序 189

9.4.1 简单选择排序 189

9.4.2 树形选择排序 190

9.4.3 堆排序 191

9.5 归并排序 196

9.6 基数排序 196

9.6.1 多关键字排序 196

9.6.2 链式基数排序 197

9.7 内部排序算法的分析和比较 198

9.8 本章小结 199

习题9 200

第10章 数据结构课程实训 202

10.1 系统设计的要求 202

10.1.1 系统总体结构设计 202

10.1.2 系统详细设计 204

10.1.3 系统调试和维护 205

10.2 文件的包含处理 206

10.2.1 什么是文件包含 206

10.2.2 如何对“数据结构实验系统”进行文件包含 208

10.2.3 “数据结构实验系统”主控模块 209

10.3 数据结构课程设计 210

10.3.1 课程设计的目的 210

10.3.2 课程设计的内容 210

10.3.3 课程设计报告 211

10.3.4 课程设计的考核 212

10.4 课程设计的要求 212

10.5 课程设计题目 213

参考文献 220