数据结构(C语言)慕课版 第3版

国家级一流课程配套教材,江苏省规划教材,江苏省优秀本科教材
分享 推荐 0 收藏 2 阅读 617
王海艳 (作者) 978-7-115-68524-7

关于本书的内容有任何问题,请联系 徐柏杨

(1)理论筑基,实践赋能。本书以培养学科核心素养为导向,精准提炼数据结构领域的核心知识点与重难点内容,通过体系化的图表阐释、典型化的案例剖析及层次化的习题设计,实现数据结构基本概念与算法设计、工程应用深度融合。同时,本书专设综合实验,依托软件工程规范化方法,系统指导读者完成程序设计与编码实践,助力其构建“理论认知—实践应用”的完整能力链条。
(2)数字赋能,教学提质。编者团队精准把握线上线下融合教学发展趋势,在中国大学MOOC平台打造了与本书深度配套的国家级一流本科课程“数据结构”。课程通过可视化、场景化的教学呈现方式,生动解读数据结构核心知识与典型示例,为读者自主研学提供高效支撑,也为高校开展混合式教学、提升教学质量提供了优质资源保障。
(3)聚焦自主学习能力培养,优化学习引导体系,在各章节开篇增设思维导图,清晰梳理章节逻辑脉络与核心知识点关联;设置一批具有真实应用背景的案例与习题,搭 建起抽象数据结构理论与实际工程应用之间的桥梁。
¥59.80 ¥50.83 (8.5 折)

特别说明

江苏省高等教育类本科优秀教材
江苏“十四五”普通高等教育本科规划教材

内容摘要

本书系统地讲解了数据结构的相关知识。全书共10章,分别为绪论、线性表、堆栈和队列、数组和字符串、树和二叉树、集合和搜索、搜索树、散列表、图、排序。本书重视算法及其实践性,书中算法都有完整的C语言程序,程序代码注释详细。为了让读者能够及时地检验学习效果、把握学习进度,每章都附有丰富的习题。
本书将现代信息技术融入教学,突破传统教学模式,借助慕课全面阐述数据结构课程中的重点、难点知识,涵盖线性表、树、集合、图等内容,形成一套完整的包含知识点、习题、实验、视频等的立体化教学资源。
本书可作为计算机、电子信息、管理信息系统、电子商务、教育技术学及相关专业数据结构课程的教材,也可以作为计算机软件工程技术人员的参考用书。

目录

【章节目录】
第1章 绪论
第2章 线性表
第3章 堆栈和队列
第4章 数组和字符串
第5章 树和二叉树
第6章 集合和搜索
第7章 搜索树
第8章 散列表
第9章 图
第10章 排序

【完整目录】
第1章 绪论 001
1.1 数据结构概述 001
1.1.1 基本概念 001
1.1.2 数据结构的定义 002
1.2 抽象数据类型 003
1.3 算法和算法分析 004
1.3.1 算法 004
1.3.2 算法的时间复杂度 005
1.3.3 最好、最坏和平均时间复杂度 006
1.3.4 算法的空间复杂度 007
1.4 本章小结 007
习题 007
第2章 线性表 009
2.1 线性表概述 009
2.2 线性表的顺序存储结构和实现 010
2.2.1 线性表的顺序存储结构 010
2.2.2 顺序表基本运算的实现 011
2.3 线性表的链式存储结构和实现 015
2.3.1 单链表的定义和表示 015
2.3.2 单链表基本运算的实现 016
2.3.3 带表头结点的单链表 020
2.3.4 单循环链表 022
2.3.5 双向链表 023
2.4 顺序表与链表的比较 024
2.5 线性表的应用 024
2.6 本章小结 027
习题 027
第3章 堆栈和队列 030
3.1 堆栈 030
3.1.1 堆栈ADT 030
3.1.2 堆栈的顺序表示 031
3.1.3 堆栈的链接表示 033
3.2 队列 033
3.2.1 队列ADT 033
3.2.2 队列的顺序表示 033
3.2.3 队列的链接表示 036
3.3 表达式计算 036
3.3.1 中缀表达式 036
3.3.2 后缀表达式及其求值方法 037
3.3.3 中缀表达式转换为后缀表达式 041
3.4 递归 045
3.4.1 递归的概念 045
3.4.2 递归的实现 046
3.5 本章小结 047
习题 047
第4章 数组和字符串 049
4.1 数组 049
4.1.1 一维数组 049
4.1.2 二维数组 050
4.1.3 多维数组 051
4.2 数组ADT及其运算实现 051
4.3 特殊矩阵 054
4.3.1 对称矩阵 054
4.3.2 三角矩阵 055
4.4 稀疏矩阵 056
4.4.1 稀疏矩阵ADT 056
4.4.2 稀疏矩阵的转置算法 058
4.5 字符串 060
4.5.1 字符串ADT 060
4.5.2 简单字符串匹配算法 061
4.5.3 改进的字符串匹配算法 064
4.6 本章小结 070
习题 070
第5章 树和二叉树 072
5.1 树 073
5.1.1 树的定义 073
5.1.2 基本术语 074
5.2 二叉树 074
5.2.1 二叉树的定义 075
5.2.2 二叉树的性质 075
5.2.3 二叉树ADT 077
5.2.4 二叉树的存储表示 077
5.2.5 二叉树的存储实现和基本运算 078
5.3 二叉树的遍历 080
5.3.1 二叉树遍历的递归算法 080
5.3.2 二叉树遍历的应用实例 083
5.3.3 二叉树遍历的非递归算法 085
5.3.4 线索二叉树的概念、构造和遍历 086
5.4 树和森林 090
5.4.1 森林与二叉树的转换 090
5.4.2 树和森林的存储表示 092
5.4.3 树和森林的遍历 094
5.5 堆和优先权队列 095
5.5.1 堆 095
5.5.2 优先权队列 098
5.6 哈夫曼树和哈夫曼编码 103
5.6.1 树的路径长度 103
5.6.2 哈夫曼树和哈夫曼算法 105
5.6.3 构造哈夫曼树 106
5.6.4 哈夫曼编码 107
5.7 并查集及其应用 107
5.7.1 并查集ADT 108
5.7.2 并查集的存储表示 108
5.7.3 并查集的运算 109
5.7.4 改进的Union()运算 111
5.7.5 并查集应用实例 112
5.8 本章小结 113
习题 113
第6章 集合和搜索 117
6.1 集合 117
6.1.1 集合的基本概念 117
6.1.2 动态集ADT 118
6.1.3 集合的表示 118
6.2 顺序搜索 119
6.2.1 无序表的顺序搜索 119
6.2.2 有序表的顺序搜索 120
6.3 对半搜索 120
6.3.1 对半搜索算法 120
6.3.2 二叉判定树 123
6.4 分块搜索 124
6.5 本章小结 126
习题 126
第7章 搜索树 128
7.1 二叉搜索树 129
7.1.1 二叉搜索树的定义与性质 129
7.1.2 二叉搜索树的搜索 129
7.1.3 二叉搜索树的插入 130
7.1.4 二叉搜索树的删除 132
7.1.5 二叉搜索树的高度 134
7.2 二叉平衡树 134
7.2.1 二叉平衡树的定义 134
7.2.2 二叉平衡树的平衡调整方法 135
7.2.3 二叉平衡树的插入 138
7.2.4 二叉平衡树的删除 139
7.2.5 二叉平衡树的高度 140
7.3 红黑树 141
7.3.1 红黑树的定义 141
7.3.2 红黑树的性质 141
7.3.3 红黑树的插入 141
7.4 m叉搜索树 143
7.4.1 m叉搜索树的定义 143
7.4.2 m叉搜索树的高度 145
7.5 B-树 145
7.5.1 B-树的定义 145
7.5.2 B-树的高度 146
7.5.3 B-树的搜索 146
7.5.4 B-树的插入 147
7.5.5 B-树的删除 148
7.6 B+树 151
7.6.1 B+树的定义 151
7.6.2 B+树的搜索、插入和删除 151
7.7 本章小结 152
习题 152
第8章 散列表 155
8.1 散列技术简介 155
8.2 散列函数 156
8.3 散列冲突处理 158
8.3.1 拉链法 158
8.3.2 开地址法 159
8.3.3 性能分析 165
8.4 本章小结 166
习题 166
第9章 图 167
9.1 图的基本概念 167
9.1.1 图的定义 167
9.1.2 图的基本术语 168
9.1.3 图的类型定义 170
9.2 图的存储结构 170
9.2.1 邻接矩阵表示法 170
9.2.2 邻接矩阵的实现 171
9.2.3 邻接表表示法 174
9.2.4 邻接表的实现 174
9.2.5 十字链表表示法 177
9.2.6 邻接多重表表示法 178
9.3 图的遍历 180
9.3.1 深度优先遍历 180
9.3.2 宽度优先遍历 181
9.4 拓扑排序 183
9.4.1 AOV网 183
9.4.2 AOV网的拓扑排序 184
9.5 关键路径 185
9.5.1 AOE网 185
9.5.2 AOE网的关键路径和关键活动 186
9.6 最小代价生成树 189
9.6.1 最小代价生成树的基本概念 189
9.6.2 普里姆算法 189
9.6.3 克鲁斯卡尔算法 191
9.7 单源最短路径 193
9.7.1 最短路径问题 193
9.7.2 单源最短路径问题 194
9.8 所有顶点之间的最短路径 197
9.9 本章小结 199
习题 199
第10章 排序 203
10.1 排序的基本概念 203
10.2 简单排序算法 204
10.2.1 简单选择排序 205
10.2.2 直接插入排序 207
10.2.3 冒泡排序 210
10.3 快速排序算法 212
10.4 两路合并排序算法 216
10.5 堆排序算法 219
10.6 希尔排序算法 221
10.7 基数排序算法 224
10.8 外排序 226
10.8.1 预处理 226
10.8.2 多路合并 230
10.8.3 最佳合并树 233
10.8.4 完整的外排序过程 234
10.9 本章小结 234
习题 235
附录A 综合实验 238
附录B 配套慕课使用说明 243

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

王海艳,南京邮电大学教授,博士生导师;江苏省教学名师,江苏高校“青蓝工程”优秀教学团队负责人;主持国家级一流本科课程2门,获全国高校教师教学创新大赛三等奖、全国高校微课教学比赛三等奖;获江苏省教学成果奖特等奖1项、二等奖2项。

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部