暂无评论
图文详情
- ISBN:9787121492167
- 装帧:平塑
- 册数:暂无
- 重量:暂无
- 开本:暂无
- 页数:暂无
- 出版时间:2024-11-01
- 条形码:9787121492167 ; 978-7-121-49216-7
内容简介
本书全面而深入地介绍了计算机科学中数据结构的基本概念、原理和应用。主要内容包括:数据结构概述、线性表、栈和队列、串、数组与广义表、树与二叉树、图、查找、排序。此外书中还介绍了数据结构的应用,展示了数据结构在算法设计、数据库系统、操作系统、网络编程等领域中的具体应用实例,并且提供了丰富的实验题目和练习题,帮助读者加深对数据结构和算法的理解和应用。本书除了阐述数据结构学科的基本概念、基本理论和基本方法,还强调数据建模和求解算法的思想,重点培养学生的抽象建模能力、算法设计能力、算法的语言描述能力、数据结构的应用创新能力。
目录
目 录
第1章 数据结构概述 1
1.1 数据结构研究的问题 1
1.1.1 计算机解决实际问题的一般步骤 1
1.1.2 数据结构学科概念及其所研究的内容 1
1.1.3 数据结构的建模举例 2
1.2 数据结构的基本概念和相关术语 5
1.2.1 数据的基本概念 5
1.2.2 数据结构的相关术语 6
1.2.3 数据类型的概念 7
1.3 算法与算法性能分析 9
1.3.1 算法的概念及特征 10
1.3.2 算法的设计要求 10
1.3.3 算法的性能分析 11
1.4 数据结构的算法描述工具 15
1.4.1 符号常量定义 15
1.4.2 数据存储结构定义 15
1.4.3 运算符 16
1.4.4 函数 16
1.4.5 语句 16
本章小结 18
习题1 18
第2章 线性表 21
2.1 线性表的类型定义 21
2.1.1 线性表的概念、特点与逻辑结构 21
2.1.2 线性表的ADT定义 22
2.2 线性表的顺序存储结构及其算法实现 24
2.2.1 线性表的顺序存储结构 24
2.2.2 顺序表的基本算法实现 26
2.2.3 顺序表应用举例 29
2.3 线性表的链式存储结构及其算法实现 32
2.3.1 单链表存储结构 32
2.3.2 单链表的基本运算 36
2.3.3 双向链表 43
2.3.4 循环链表 44
2.3.5 单链表应用举例 46
本章小结 50
习题2 50
第3章 栈和队列 55
3.1 栈 55
3.1.1 栈的概念及ADT定义 55
3.1.2 栈的存储结构与算法实现 56
3.2 栈的应用举例 61
3.3 队列 75
3.3.1 队列的定义及ADT定义 75
3.3.2 队列的存储结构及算法实现 77
本章小结 83
习题3 83
第4章 串 88
4.1 串的概念及ADT定义 88
4.1.1 串的基本概念及相关术语 88
4.1.2 串的ADT定义 88
4.2 串的定长顺序存储结构及其算法实现 90
4.2.1 串的定长顺序存储结构 90
4.2.2 定长顺序串的基本运算 91
4.3 串的堆存储结构及其算法实现 93
4.3.1 串的堆存储结构 93
4.3.2 堆串的算法实现 94
4.4 串的模式匹配算法 96
4.4.1 简单模式匹配算法 96
4.4.2 KMP算法 98
4.4.3 串的其他存储映象 101
本章小结 104
习题4 104
第5章 数组与广义表 106
5.1 数组 106
5.1.1 数组的类型定义与存储结构 106
5.1.2 数组的内存映象 107
5.2 特殊矩阵的压缩存储 109
5.2.1 对称矩阵 110
5.2.2 三角矩阵 111
5.2.3 带状矩阵 112
5.3 稀疏矩阵 113
5.3.1 稀疏矩阵的三元组存储结构与矩阵的转置和乘法 114
5.3.2 稀疏矩阵的十字链表存储结构与矩阵的加法和减法 119
5.4 广义表 122
5.4.1 广义表的概念及ADT定义 123
5.4.2 广义表的存储结构 125
5.4.3 广义表的基本运算 127
5.4.4 广义表的应用举例 130
本章小结 131
习题5 131
第6章 树与二叉树 135
6.1 树 135
6.1.1 树的定义及相关术语 135
6.1.2 树的逻辑结构表示 138
6.1.3 树的ADT定义 138
6.2 二叉树 140
6.2.1 二叉树的定义及ADT定义 140
6.2.2 二叉树的性质 143
6.2.3 二叉树的存储结构 145
6.3 二叉树的遍历算法及其应用 148
6.3.1 二叉树的递归遍历算法 148
6.3.2 二叉树的非递归遍历算法 151
6.3.3 二叉树遍历算法的应用 154
6.4 二叉树的构造 157
6.5 线索二叉树 160
6.5.1 线索二叉树的定义及结构 161
6.5.2 线索二叉树的基本算法 163
6.6 树和森林 168
6.6.1 树与森林的性质 168
6.6.2 树与森林的存储结构 169
6.6.3 树、森林与二叉树的转换 173
6.6.4 树与森林的遍历 176
6.7 哈夫曼树 177
6.7.1 哈夫曼树的概念与构造算法 177
6.7.2 哈夫曼树的应用 181
6.8 用并查集求等价问题 185
6.8.1 并查集 185
6.8.2 并查集的算法实现 186
本章小结 188
习题6 189
第7章 图 194
7.1 图的基本概念及ADT定义 194
7.1.1 图的基本概念与相关术语 194
7.1.2 图的ADT定义 197
7.2 图的存储结构与创建算法 199
7.2.1 邻接矩阵存储结构与创建算法 199
7.2.2 邻接表存储结构与创建算法 202
7.2.3 有向图的十字链表存储结构与创建算法 204
7.2.4 无向图的邻接多重表存储结构 206
7.3 图的遍历算法 208
7.3.1 深度优先搜索算法 208
7.3.2 广度优先搜索算法 209
7.4 图的连通性 211
7.4.1 无向图的连通性 211
7.4.2 有向图的连通性 211
7.4.3 生成树与生成森林 212
7.4.4 关节点与重连通分量 214
7.5 *小生成树 216
7.5.1 *小生成树的基本概念 216
7.5.2 构造*小生成树的Prim算法 217
7.5.3 构造*小生成树的Kruskal算法 219
7.6 *短路径问题 222
7.6.1 从一个源点到其他各顶点的*短路径 222
7.6.2 每一对顶点之间的*短路径 224
7.7 有向无环图及其应用 227
7.7.1 有向无环图的概念 227
7.7.2 AOV网与拓扑排序 228
7.7.3 AOE网与关键路径 231
本章小结 234
习题7 235
第8章 查找 239
8.1 查找概述 239
8.1.1 查找表的相关概念 239
8.1.2 查找算法的性能分析 240
8.2 线性表的查找 240
8.2.1 顺序查找 240
8.2.2 折半查找 241
8.2.3 分块查找 245
8.3 树表的查找 247
8.3.1 二叉排序树 247
8.3.2 平衡二叉树 252
8.3.3 红黑树 258
8.3.4 B-树 264
8.3.5 B+树 268
8.4 哈希表查找 269
8.4.1 哈希表与哈希方法 269
8.4.2 哈希函数的常用构造方法 270
8.4.3 处理冲突的方法 272
8.4.4 哈希表的查找性能分析 273
本章小结 276
习题8 276
第9章 排序 281
9.1 基本概念 281
9.2 插入排序 282
9.2.1 直接插入排序 282
9.2.2 折半插入排序 284
9.2.3 希尔排序 285
9.3 交换排序 286
9.3.1 冒泡排序 286
9.3.2 快速排序 288
9.4 选择排序 291
9.4.1 简单选择排序 291
9.4.2 树形选择排序 292
9.4.3 堆排序 293
9.5 二路归并排序 296
9.6 基数排序 298
9.6.1 多关键字排序 298
9.6.2 链式基数排序 299
9.6.3 计数排序 301
9.7 各种排序算法的比较 302
9.8 外部排序 303
9.8.1 外部排序的方法 303
9.8.2 多路平衡归并的实现 304
本章小结 306
习题9 307
第1章 数据结构概述 1
1.1 数据结构研究的问题 1
1.1.1 计算机解决实际问题的一般步骤 1
1.1.2 数据结构学科概念及其所研究的内容 1
1.1.3 数据结构的建模举例 2
1.2 数据结构的基本概念和相关术语 5
1.2.1 数据的基本概念 5
1.2.2 数据结构的相关术语 6
1.2.3 数据类型的概念 7
1.3 算法与算法性能分析 9
1.3.1 算法的概念及特征 10
1.3.2 算法的设计要求 10
1.3.3 算法的性能分析 11
1.4 数据结构的算法描述工具 15
1.4.1 符号常量定义 15
1.4.2 数据存储结构定义 15
1.4.3 运算符 16
1.4.4 函数 16
1.4.5 语句 16
本章小结 18
习题1 18
第2章 线性表 21
2.1 线性表的类型定义 21
2.1.1 线性表的概念、特点与逻辑结构 21
2.1.2 线性表的ADT定义 22
2.2 线性表的顺序存储结构及其算法实现 24
2.2.1 线性表的顺序存储结构 24
2.2.2 顺序表的基本算法实现 26
2.2.3 顺序表应用举例 29
2.3 线性表的链式存储结构及其算法实现 32
2.3.1 单链表存储结构 32
2.3.2 单链表的基本运算 36
2.3.3 双向链表 43
2.3.4 循环链表 44
2.3.5 单链表应用举例 46
本章小结 50
习题2 50
第3章 栈和队列 55
3.1 栈 55
3.1.1 栈的概念及ADT定义 55
3.1.2 栈的存储结构与算法实现 56
3.2 栈的应用举例 61
3.3 队列 75
3.3.1 队列的定义及ADT定义 75
3.3.2 队列的存储结构及算法实现 77
本章小结 83
习题3 83
第4章 串 88
4.1 串的概念及ADT定义 88
4.1.1 串的基本概念及相关术语 88
4.1.2 串的ADT定义 88
4.2 串的定长顺序存储结构及其算法实现 90
4.2.1 串的定长顺序存储结构 90
4.2.2 定长顺序串的基本运算 91
4.3 串的堆存储结构及其算法实现 93
4.3.1 串的堆存储结构 93
4.3.2 堆串的算法实现 94
4.4 串的模式匹配算法 96
4.4.1 简单模式匹配算法 96
4.4.2 KMP算法 98
4.4.3 串的其他存储映象 101
本章小结 104
习题4 104
第5章 数组与广义表 106
5.1 数组 106
5.1.1 数组的类型定义与存储结构 106
5.1.2 数组的内存映象 107
5.2 特殊矩阵的压缩存储 109
5.2.1 对称矩阵 110
5.2.2 三角矩阵 111
5.2.3 带状矩阵 112
5.3 稀疏矩阵 113
5.3.1 稀疏矩阵的三元组存储结构与矩阵的转置和乘法 114
5.3.2 稀疏矩阵的十字链表存储结构与矩阵的加法和减法 119
5.4 广义表 122
5.4.1 广义表的概念及ADT定义 123
5.4.2 广义表的存储结构 125
5.4.3 广义表的基本运算 127
5.4.4 广义表的应用举例 130
本章小结 131
习题5 131
第6章 树与二叉树 135
6.1 树 135
6.1.1 树的定义及相关术语 135
6.1.2 树的逻辑结构表示 138
6.1.3 树的ADT定义 138
6.2 二叉树 140
6.2.1 二叉树的定义及ADT定义 140
6.2.2 二叉树的性质 143
6.2.3 二叉树的存储结构 145
6.3 二叉树的遍历算法及其应用 148
6.3.1 二叉树的递归遍历算法 148
6.3.2 二叉树的非递归遍历算法 151
6.3.3 二叉树遍历算法的应用 154
6.4 二叉树的构造 157
6.5 线索二叉树 160
6.5.1 线索二叉树的定义及结构 161
6.5.2 线索二叉树的基本算法 163
6.6 树和森林 168
6.6.1 树与森林的性质 168
6.6.2 树与森林的存储结构 169
6.6.3 树、森林与二叉树的转换 173
6.6.4 树与森林的遍历 176
6.7 哈夫曼树 177
6.7.1 哈夫曼树的概念与构造算法 177
6.7.2 哈夫曼树的应用 181
6.8 用并查集求等价问题 185
6.8.1 并查集 185
6.8.2 并查集的算法实现 186
本章小结 188
习题6 189
第7章 图 194
7.1 图的基本概念及ADT定义 194
7.1.1 图的基本概念与相关术语 194
7.1.2 图的ADT定义 197
7.2 图的存储结构与创建算法 199
7.2.1 邻接矩阵存储结构与创建算法 199
7.2.2 邻接表存储结构与创建算法 202
7.2.3 有向图的十字链表存储结构与创建算法 204
7.2.4 无向图的邻接多重表存储结构 206
7.3 图的遍历算法 208
7.3.1 深度优先搜索算法 208
7.3.2 广度优先搜索算法 209
7.4 图的连通性 211
7.4.1 无向图的连通性 211
7.4.2 有向图的连通性 211
7.4.3 生成树与生成森林 212
7.4.4 关节点与重连通分量 214
7.5 *小生成树 216
7.5.1 *小生成树的基本概念 216
7.5.2 构造*小生成树的Prim算法 217
7.5.3 构造*小生成树的Kruskal算法 219
7.6 *短路径问题 222
7.6.1 从一个源点到其他各顶点的*短路径 222
7.6.2 每一对顶点之间的*短路径 224
7.7 有向无环图及其应用 227
7.7.1 有向无环图的概念 227
7.7.2 AOV网与拓扑排序 228
7.7.3 AOE网与关键路径 231
本章小结 234
习题7 235
第8章 查找 239
8.1 查找概述 239
8.1.1 查找表的相关概念 239
8.1.2 查找算法的性能分析 240
8.2 线性表的查找 240
8.2.1 顺序查找 240
8.2.2 折半查找 241
8.2.3 分块查找 245
8.3 树表的查找 247
8.3.1 二叉排序树 247
8.3.2 平衡二叉树 252
8.3.3 红黑树 258
8.3.4 B-树 264
8.3.5 B+树 268
8.4 哈希表查找 269
8.4.1 哈希表与哈希方法 269
8.4.2 哈希函数的常用构造方法 270
8.4.3 处理冲突的方法 272
8.4.4 哈希表的查找性能分析 273
本章小结 276
习题8 276
第9章 排序 281
9.1 基本概念 281
9.2 插入排序 282
9.2.1 直接插入排序 282
9.2.2 折半插入排序 284
9.2.3 希尔排序 285
9.3 交换排序 286
9.3.1 冒泡排序 286
9.3.2 快速排序 288
9.4 选择排序 291
9.4.1 简单选择排序 291
9.4.2 树形选择排序 292
9.4.3 堆排序 293
9.5 二路归并排序 296
9.6 基数排序 298
9.6.1 多关键字排序 298
9.6.2 链式基数排序 299
9.6.3 计数排序 301
9.7 各种排序算法的比较 302
9.8 外部排序 303
9.8.1 外部排序的方法 303
9.8.2 多路平衡归并的实现 304
本章小结 306
习题9 307
展开全部
作者简介
王霞,泰山学院副教授,长期从事数据结构、操作系统等课程的教学和教研工作,曾主持基于CDIO理念的数据结构课程教学改革与研究、《数据结构》"课程思政”教学实践探索等项目,主持新工科背景下数据结构课程教学改革创新与实践研究等教学项目。
本类五星书
本类畅销
-
思想道德与法治(2021年版)
¥6.8¥18.0 -
中医基础理论
¥51.7¥59.0 -
落洼物语
¥9.4¥28.0 -
习近平新时代中国特色社会主义思想概论
¥18.2¥26.0 -
当代中国政府与政治(新编21世纪公共管理系列教材)
¥36.0¥48.0 -
毛泽东思想和中国特色社会主义理论体系概论(2021年版)
¥9.0¥25.0 -
艺术学概论
¥14.5¥37.4 -
粒子输运数值计算方法及其应用
¥42.8¥58.0 -
艺术学概论
¥60.2¥79.0 -
毛泽东思想和中国特色社会主义理论体系概论
¥10.5¥25.0 -
智能控制
¥40.2¥56.0 -
社会学概论(第二版)
¥34.0¥55.0 -
法理学(第二版)
¥18.0¥50.0 -
全国中医药行业高等教育“十三五”规划教材中医养生学/马烈光/十三五规划
¥36.8¥55.0 -
基于python的从学习编程到解决问题
¥35.4¥53.8 -
水利工程监理
¥28.3¥42.0 -
新编大学生军事理论与训练教程
¥13.7¥39.8 -
世界现代史(1900-2000)
¥31.4¥80.0 -
水电站
¥24.4¥36.0 -
公路工程机械化施工技术-(第二版)
¥18.6¥32.0