新書推薦:
《
狂飙年代:18世纪俄国的新文化和旧文化(第二卷)
》
售價:HK$
177.0
《
万有引力书系 纳粹亿万富翁 德国财富家族的黑暗历史
》
售價:HK$
109.8
《
中国常见植物野外识别手册:青海册
》
售價:HK$
76.2
《
三星堆对话古遗址(从三星堆出发,横跨黄河流域,长江流域,对话11处古遗址,探源多元一体的中华文明)
》
售價:HK$
87.4
《
迷人的化学(迷人的科学丛书)
》
售價:HK$
143.4
《
宋代冠服图志(详尽展示宋代各类冠服 精美插图 考据严谨 细节丰富)
》
售價:HK$
87.4
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:HK$
55.8
《
养育不好惹的小孩
》
售價:HK$
77.3
|
編輯推薦: |
1.满足考研需求---在内容上即满足了计算机专业的课程大纲要求,也覆盖了考研大纲要求。
2.内容形式丰富---增加了大量的图示说明和微课讲解,为教师教和学生学提供更丰富的教学材料,帮助学生能够更直观地理解和掌握相关理论。
3.理论与实践结合----配套在线虚拟仿真实训,便于实践及能力拓展。
4.名校优质作者----本书作者为华中科技大学“数据结构”课程团队。
|
內容簡介: |
数据结构是计算机及相关专业的基础课程,具有很强的理论性和实践性。本书采用类C语言作为数据结构和算法的描述语言,以“逻辑结构 物理结构 基本操作实现 典型应用”的模式对查找、排序、线性结构、树结构、图结构进行了详细的分析和讨论,条理清晰,讲解全面。本书在选材与编排上,贴近当前普通高等院校“数据结构”课程的现状和发展趋势,符合最新研究生考试大纲,内容难度适度。全书共9章,主要内容包括绪论、线性表、栈与队列,串、数组与广义表,树和二叉树,图,查找,排序,大数据存储与检索。
本书可作为普通高等院校计算机和信息技术相关专业“数据结构”课程的教材,也可供从事计算机工程与应用工作的科技工作者参考。
|
關於作者: |
袁凌,华中科技大学计算机学院副教授,自2008年9月起承担计算机专业本科生数据结构课程的教学任务,多次获得校教学质量奖,并在教学类核心期刊上发表教学相关论文。
|
目錄:
|
目录
第 1章 绪论1
1.1 程序设计的问题背景1
1.2 程序设计的一般过程2
1.3 数据结构概述3
1.4 数据结构基本概念6
1.5 算法设计的一般步骤9
1.5.1 算法定义及性质9
1.5.2 算法设计步骤12
1.6 算法复杂度分析12
1.6.1 算法时间复杂度分析12
1.6.2 算法空间复杂度分析15
1.7 算法分析实例17
1.8 本章小结22
计算机领域名人堂23
本章习题23
第 2章 线性表27
2.1 线性表的基本概念27
2.1.1 线性表定义28
2.2.2 抽象数据类型定义29
2.2 线性表顺序存储结构定义及实现32
2.2.1 顺序表存储结构定义32
2.2.2 顺序表的基本操作实现35
2.3 线性表链式存储结构定义及实现39
2.3.1 单链表存储结构定义40
2.3.2 单链表的实现40
2.3.3 循环单链表44
2.3.4 双向链表46
2.4 顺序表与链表的比较48
2.5 线性表应用实例49
2.5.1 递增有序单链表生成算法49
2.5.2 单链表插入删除算法53
2.5.3 单链表合并算法55
2.5.4 单链表的逆置57
2.6 本章小结60
计算机领域名人堂61
本章习题62
第3章 栈与队列66
3.1 栈67
3.1.1 栈的基本概念67
3.1.2 栈的抽象数据类型68
3.1.3 栈的操作特性68
3.1.4 栈的顺序存储结构70
3.1.5 栈的链式存储结构76
3.1.6 栈的应用78
3.2 队列86
3.2.1 队列的基本概念87
3.2.2 队列的抽象数据类型87
3.2.3 链式队列的基本运算及实现88
3.2.4 顺序队列的基本运算及实现91
3.3 应用实例96
3.3.1 栈的应用实例96
3.3.2 队列的应用实例99
3.4 本章小结102
计算机领域名人堂103
本章习题103
第4章 字符串、多维数组与广义表108
4.1 字符串108
4.1.1 字符串的定义109
4.1.2 字符串的存储结构及其基本运算的实现111
4.1.3 字符串的模式匹配算法116
4.2 多维数组122
4.2.1 多维数组概念的引入122
4.2.2 多维数组的顺序存储124
4.2.3 矩阵的压缩存储128
4.3 广义表137
4.3.1 广义表的定义137
4.3.2 广义表的存储139
4.4 应用实例143
4.4.1最大匹配分词算法143
4.4.2正数值三角形的最优路径147
4.5 本章小结149
计算机领域名人堂149
本章习题150
第5章 树与二叉树153
5.1 实际应用中的树153
5.2树的逻辑结构155
5.2.1 树的定义与基本术语155
5.2.2 树的抽象数据类型定义157
5.3 树的存储结构158
5.3.1 双亲表示法159
5.3.2 孩子表示法159
5.3.3 孩子兄弟表示法161
5.4 二叉树的逻辑结构162
5.4.1 二叉树的定义163
5.4.2 二叉树的性质163
5.4.3 二叉树的操作与抽象数据类型定义166
5.5 二叉树的存储结构168
5.5.1 二叉树的顺序存储结构168
5.5.2 二叉树的链式存储结构169
5.5.3 基于二叉链表的二叉树遍历170
5.5.4 线索链表与线索二叉树179
5.6 树、森林与二叉树的转换185
5.6.1 树与二叉树的转换185
5.6.2 森林与二叉树的转换186
5.6.3 树与森林的遍历187
5.7 哈夫曼树189
5.7.1 哈夫曼树与哈夫曼算法189
5.7.2 哈夫曼编码192
5.8 应用实例:表达式二叉树193
5.8.1 表达式二叉树的概念194
5.8.2 表达式二叉树的实现194
5.9本章小结197
计算机领域名人堂197
本章习题198
第6章 图203
6.1 实际应用中的图203
6.2 图的基本概念204
6.2.1 图的定义和基本术语204
6.2.2 图的操作定义207
6.3 图的存储结构208
6.3.1 邻接矩阵208
6.3.2 邻接表211
6.3.3 十字链表213
6.3.4 邻接多重表214
6.4 图的遍历215
6.4.1 图的深度优先搜索遍历215
6.4.2 图的广度优先搜索遍历217
6.4.3 图的连通性218
6.5 图的生成树问题219
6.5.1 生成树与最小生成树219
6.5.2 最小生成树Prim算法220
6.5.3 最小生成树Kruskal算法223
6.6 图的最短路径问题226
6.6.1 单源最短路径Dijkstra算法226
6.6.2 各顶点间最短路径Floyd算法230
6.7 有向无环图的应用233
6.7.1 拓扑排序233
6.7.2 关键路径236
6.8 应用实例241
6.8.1 并查集241
6.8.2 地铁换乘问题245
6.9 本章小结258
计算机领域名人堂258
本章习题259
第7章 排序263
7.1 实际应用中的排序263
7.2 排序的概述264
7.2.1 排序算法的稳定性265
7.2.2 排序算法的分类266
7.2.3 排序算法的性能266
7.3 插入排序266
7.3.1 直接插入排序266
7.3.2 折半插入排序269
7.3.3 希尔排序271
7.4 交换排序274
7.4.1 冒泡排序274
7.4.2 快速排序277
7.5 选择排序281
7.5.1 简单选择排序281
7.5.2 树形选择排序284
7.6 归并排序291
7.7 分配排序295
7.7.1 桶排序295
7.7.2 基数排序296
7.8 各种排序技术比较299
7.9 本章小结300
计算机领域名人堂301
本章习题302
第8章 查找308
8.1 查找概述308
8.1.1 查找基本概念308
8.1.2 查找操作性能分析309
8.2 线性表的查找技术309
8.2.1 顺序查找309
8.2.2 折半查找312
8.2.3 索引查找315
8.3 树表的查找技术316
8.3.1 二叉排序树316
8.3.2 平衡二叉树325
8.3.3 红黑树331
8.3.4 B树346
8.4 散列表的查找技术350
8.4.1 散列表概述350
8.4.2 散列函数设计351
8.4.3 处理冲突的方法352
8.4.4 散列查找性能分析355
8.5 本章小结357
计算机领域名人堂358
本章习题359
第9章 大数据存储与检索364
9.1 大数据的定义与特征364
9.1.1 大数据定义365
9.1.2 大数据特征365
9.1.3 大数据的行业发展趋势367
9.2 大数据存储367
9.2.1 数据存储管理368
9.2.2 分布式文件系统368
9.2.3 NoSQL数据库371
9.2.4 HBase数据库372
9.3 大数据检索375
9.3.1 大数据索引375
9.3.2 大数据高效检索377
9.4 应用实例378
9.5 本章小结382
计算机领域名人堂383
本章习题383
|
|