技术教育社区
www.teccses.org

数据结构:C语言描述

封面

作者:耿国华主编

页数:288页

出版社:西安电子科技大学出版社

出版日期:2020

ISBN:9787560656038

电子书格式:pdf/epub/txt

内容简介

本书在前两版的基础上修订而成。
本书主要包括数据结构的基本概念、 基本数据结构(线性表、 栈、 队列、 串、 数组、 广义表、 树、 图)和基本技术(查找、 排序)三个部分,涉及经典的数据组织方式和处理算法,内容丰富,概念清晰。
本书用C语言作为算法描述语言,采用面向对象的方法讲述数据结构中的技术,在内容上提供了更加丰富的资源,加入了便于自主学习的新形态教学资源以及作者多年对重要知识点和学习难点的理解与总结,提供了数据结构试题选编样卷及参考答案,便于读者学习,便于教师在翻转课堂上使用。
本书既可作为大专院校计算机等专业“数据结构”课程的教材,也可供计算机开发和应用人员学习和参考。

本书特色

根据技术发展需求和教学要求,作者在二版教材的基础上,进行了以下重点修订: (1)每章增加了思维导图,用于帮助读者提纲挈领地掌握每一章的内容。 (2)采用二维码方式,增加新形态资源,包括部分PPT课件、难点知识点解析、难点程序示例、课后习题参考答案等。读者可通过扫描二维码,方便地获取资源。帮助读者更好的理解每一个重点和难点知识点。将书变薄,知识变多。 (3)为每一章重点实习题目提供参考思路或源码。 (4)对附录样卷进行了更新,同时提供参考答案。

采用二维码方式,增加新形态资源,包括部分PPT课件、难点知识点解析、难点程序示例、课后习题参考答案等。读者可通过扫描二维码,方便地获取资源。

目录

第1章 绪论 1
1.1 什么是数据结构(定义) 1
1.2 数据结构的内容 9
1.3 算法 11
1.4 算法描述的工具 12
1.5 对算法作性能评价 16
1.6 关于数据结构的学习 21
习题 22
实习题 23
第2章 线性表 24
2.1 线性表的概念及运算 24
2.1.1 线性表的逻辑结构 24
2.1.2 线性表的抽象数据类型定义 25
2.2 线性表的顺序存储 26
2.2.1 线性表的顺序存储结构 26
2.2.2 线性表顺序存储结构上的基本运算 27
2.3 线性表的链式存储 32
2.3.1 单链表 32
2.3.2 单链表上的基本运算 33
2.3.3 循环链表 41
2.3.4 双向链表 43
最2.3.5 静态链表 45
2.3.6 顺序表和链表的比较 48
2.4 一元多项式的表示及相加 49
习题 53
实习题 55
第3章 限定性线性表——栈和队列 56
3.1 栈 56
3.1.1 栈的定义 56
3.1.2 栈的表示和实现 57
3.1.3 栈的应用举例 62
3.1.4 栈与递归的实现 68
3.2 队列 74
3.2.1 队列的定义 74
3.2.2 队列的表示和实现 75
3.2.3 队列的应用举例 79
习题 82
实习题 83
第4章 串 85
4.1 串的定义 85
4.2 抽象数据类型串的实现 87
4.2.1 定长顺序串 87
4.2.2 堆串 91
4.2.3 块链串 96
4.3 串的应用举例:文本编辑 96
习题 97
实习题 98
第5章 数组和广义表 100
5.1 数组的定义和运算 100
5.2 数组的顺序存储和实现 101
5.3 特殊矩阵的压缩存储 104
5.3.1 三角矩阵 104
5.3.2 带状矩阵 105
5.3.3 稀疏矩阵 106
5.4 广义表 116
5.4.1 广义表的概念 116
5.4.2 广义表的存储结构 117
5.4.3 广义表的操作实现 118
习题 120
实习题 120
第6章 树和二叉树 122
6.1 树的概念与定义 122
6.2 二叉树 124
6.2.1 二叉树的定义与基本操作 124
6.2.2 二叉树的性质 125
6.2.3 二叉树的存储结构 127
6.3 二叉树的遍历与线索化 129
6.3.1 二叉树的遍历 129
6.3.2 基于栈的递归消除 132
6.3.3 遍历算法应用 135
6.3.4 线索二叉树 140
6.4 树、 森林和二叉树的关系 144
6.4.1 树的存储结构 144
6.4.2 树、 森林与二叉树的相互转换 146
6.4.3 树与森林的遍历 149
6.5 哈夫曼树及其应用 150
6.5.1 哈夫曼树 150
6.5.2 哈夫曼编码 152
6.5.3 哈夫曼编码算法的实现 154
习题 156
实习题 157
第7章 图 159
7.1 图的定义与基本术语 159
7.1.1 图的定义 159
7.1.2 基本术语 161
7.2 图的存储结构 163
7.2.1 邻接矩阵表示法 163
7.2.2 邻接表表示法 166
7.2.3 十字链表 168
7.2.4 邻接多重表 170
7.3 图的遍历 171
7.3.1 深度优先搜索 172
7.3.2 广度优先搜索 175
7.4 图的连通性问题 177
7.4.1 无向图的连通分量 177
7.4.2 最小生成树 178
7.5 有向无环图的应用 182
7.5.1 拓扑排序 182
7.5.2 关键路径 185
7.6 最短路径 190
7.6.1 求某一顶点到其他各顶点的最短路径 191
7.6.2 求任意一对顶点间的最短路径 193
习题 195
实习题 197
第8章 查找 199
8.1 查找的基本概念 199
8.2 基于线性表的查找法 200
8.2.1 顺序查找法 200
8.2.2 折半查找法 201
8.2.3 分块查找法 203
8.3 基于树的查找法 204
8.3.1 二叉排序树 204
8.3.2 平衡二叉排序树 210
8.3.3 B-树 218
8.4 计算式查找法——哈希法 227
8.4.1 哈希函数的构造方法 227
8.4.2 处理冲突的方法 229
8.4.3 哈希表的查找过程 231
8.4.4 哈希法性能分析 232
习题 235
实习题 236
第9章 内部排序 237
9.1 排序的基本概念 237
9.2 插入类排序 238
9.2.1 直接插入排序 238
9.2.2 折半插入排序 240
9.2.3 表插入排序 241
9.2.4 希尔排序 241
9.3 交换类排序法 244
9.3.1 冒泡排序(相邻比序法) 244
9.3.2 快速排序 246
9.4 选择类排序法 248
9.4.1 简单选择排序 249
9.4.2 树形选择排序 250
9.4.3 堆排序 250
9.5 归并排序 255
9.6 分配类排序 257
9.6.1 多关键字排序 258
9.6.2 链式基数排序 258
9.6.3 基数排序的顺序表结构 262
9.7 各种排序方法的综合比较 262
习题 263
实习题 265
第10章 外部排序 266
10.1 外存信息的特性 266
10.1.1 磁带存储器 266
10.1.2 磁盘存储器 267
10.2 外排序的基本方法 269
10.2.1 磁盘排序 269
10.2.2 磁带排序 274
习题 277
附录 数据结构试题选编 278
附录A 样卷一:期末考试试题 278
附录B 样卷二:期末考试试题 281
附录C 样卷三:硕士研究生入学考试试题 284
附录D 样卷四:硕士研究生入学考试试题 286
参考文献 288

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《数据结构:C语言描述》
Article link:https://www.teccses.org/1193387.html