趣学数据结构
正版保障 假一赔十 电子发票
¥
85.51
7.2折
¥
119
全新
库存4件
作者陈小玉
出版社人民邮电出版社
ISBN9787115513830
出版时间2019-09
装帧平装
开本16开
定价119元
货号1202857327
上书时间2024-12-26
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
陈小玉,南阳理工学院副教授,高级程序员,研究方向为智能计算、数据挖掘与机器学习,主要讲授“算法设计与分析”和“人工智能”等课程,多次指导学生获得ACM程序设计大赛亚洲区奖项。
目录
第1章 数据结构入门 1
1.1 数据结构基础知识 2
1.2 算法复杂度 10
1.3 一棋盘麦子 17
1.4 神奇魔鬼序列 18
1.5 本章要点 23
第 2章 线性表 24
2.1 顺序表 25
2.1.1 静态分配 25
2.1.2 动态分配 26
2.1.3 顺序表的基本操作 28
2.2 单链表 35
2.2.1 单链表的存储方式 35
2.2.2 单链表的基本操作 37
2.3 双向链表 48
2.3.1 双向链表的存储方式 48
2.3.2 双向链表的基本操作 48
2.4 循环链表 54
2.5 线性表的应用 55
2.5.1 合并有序顺序表 55
2.5.2 合并有序链表 60
2.5.3 就地逆置单链表 64
2.5.4 查找链表的中间节点 68
2.5.5 删除链表中的重复元素 71
2.6 线性表学习秘籍 75
第3章 栈和队列 78
3.1 顺序栈 79
3.2 链栈 83
3.3 顺序队列 87
3.3.1 顺序队列的定义 88
3.3.2 循环队列的定义 92
3.3.3 循环队列的基本操作 96
3.4 链队列 98
3.5 栈和队列的应用 102
3.5.1 数制的转换 102
3.5.2 回文判定 104
3.5.3 双端队列 106
3.6 栈和队列学习秘籍 116
第4章 字符串 121
4.1 字符串 122
4.2 模式匹配BF算法 124
4.3 模式匹配KMP算法 128
4.4 改进的KMP算法 133
4.5 字符串的应用——病毒检测 135
4.6 字符串学习秘籍 137
第5章 数组与广义表 139
5.1 数组的顺序存储 140
5.2 特殊矩阵的压缩存储 143
5.2.1 对称矩阵 143
5.2.2 三角矩阵 145
5.2.3 对角矩阵 146
5.2.4 稀疏矩阵 150
5.3 广义表 151
5.4 好玩贪吃蛇——数字矩阵 151
5.5 数组与广义表学习秘籍 156
第6章 树 158
6.1 树 159
6.1.1 树的定义 159
6.1.2 树的存储结构 162
6.1.3 树、森林与二叉树的转换 165
6.2 二叉树 167
6.2.1 二叉树的性质 168
6.2.2 二叉树的存储结构 173
6.2.3 二叉树的创建 175
6.3 二叉树的遍历 183
6.3.1 先序遍历 183
6.3.2 中序遍历 186
6.3.3 后序遍历 188
6.3.4 层次遍历 192
6.4 线索二叉树 196
6.4.1 线索二叉树存储结构 196
6.4.2 构造线索二叉树 197
6.4.3 遍历线索二叉树 201
6.5 树和森林的遍历 204
6.5.1 树的遍历 204
6.5.2 森林的遍历 209
6.6 树的应用 212
6.6.1 二叉树的深度 212
6.6.2 二叉树的叶子数 213
6.6.3 三元组创建二叉树 214
6.6.4 遍历序列还原树 218
6.6.5 哈夫曼树 223
6.7 树学习秘籍 239
第7章 图 241
7.1 图的基本术语 242
7.2 图的存储结构 249
7.2.1 邻接矩阵 250
7.2.2 邻接表 256
7.2.3 十字链表 266
7.2.4 邻接多重表 268
7.3 图的遍历 270
7.3.1 广度优先搜索 270
7.3.2 深度优先搜索 275
7.4 图的应用 279
7.4.1 单源最短路径——Dijkstra 279
7.4.2 各顶点之间最短路径——Floyd 287
7.4.3 最小生成树——prim 293
7.4.4 最小生成树——kruskal 305
7.4.5 拓扑排序 308
7.4.6 关键路径 316
7.5 图学习秘籍 324
第8章 查找 327
8.1 线性表查找 328
8.1.1 顺序查找 328
8.1.2 折半查找 330
8.2 树表查找 335
8.2.1 二叉查找树 335
8.2.2 平衡二叉查找树 346
8.3 散列表的查找 361
8.3.1 散列函数 361
8.3.2 处理冲突的方法 364
8.3.3 散列查找及性能分析 376
8.4 查找学习秘籍 378
第9章 排序 379
9.1 插入排序 381
9.1.1 直接插入排序 381
9.1.2 希尔排序 387
9.2 交换排序 389
9.2.1 冒泡排序 389
9.2.2 快速排序 392
9.3 选择排序 401
9.3.1 简单选择排序 401
9.3.2 堆排序 403
9.4 合并排序 412
9.5 分配排序 417
9.5.1 桶排序 417
9.5.2 基数排序 418
9.6 排序学习秘籍 421
第 10章 高级数据结构 425
10.1 并查集 426
10.2 优先队列 430
10.2.1 出队 431
10.2.2 入队 433
10.2.3 构建初始堆 435
10.3 B-树 437
10.3.1 树高与性能 439
10.3.2 查找 440
10.3.3 插入 441
10.3.4 删除 444
10.4 B+树 449
10.4.1 查找 450
10.4.2 插入 451
10.4.3 删除 454
10.5 红黑树 457
10.5.1 红黑树的定义 457
10.5.2 树高与性能 458
10.5.3 红黑树与4阶B树 459
10.5.4 查找 460
10.5.5 插入 460
10.5.6 删除 466
10.6 高级数据结构学习秘籍 476
内容摘要
本书从趣味故事引入算法复杂性计算及数据结构基础内容,涵盖线性结构、树形结构和图形结构,包括链表、栈和队列、树和图的应用等。本书内容还涉及数据结构的基本应用(包括各种查找、排序等)和高级应用(包括优先队列、并查集、B-树、B+树和红黑树等)。通过大量图解将抽象数据模型简单通俗化,语言表述浅显易懂,并结合有趣的实例帮助读者轻松掌握数据结构。本书可作为程序员的学习用书,也适合没有太多编程经验但又对数据结构有强烈兴趣的初学者使用,同时也可作为高等院校计算机、数学及相关专业的师生用书,或学科竞赛的辅导用书和培训学校的教材。
主编推荐
(1)详细图解+丰富实例,复杂问题简单化
为基本操作配以图解,用数据结构解决生活中的实际问题,学习过程更加轻松有趣。
(2)原理分析+实战演练,真正地学以致用
通俗化讲解基础知识,在实战中体会数据结构的设计和操作,锻炼独立思考的能力。
(3)配套代码+在线答疑,为学习保驾护航
提供书中的范例程序源代码、练习题以及答案解析,并在博客和QQ群中答疑解惑。
媒体评论
数据结构是一门研究计算机世界中数据空间结构的学科。无论是自然语言处理中的字符串、机器学习中的图挖掘算法,还是区块链技术中的默克尔树,都是数据结构的具体应用。可见,数据结构是前沿科技中极重要的基础学科。这门学科较抽象,初学者在学习时往往会遇到许许多多的“拦路石”。如果数据结构的书中能少一分枯燥、多一分趣味,那么学起来会更有意思。《趣学数据结构》一书深入浅出、生动形象,使学习数据结构变得更加简单有趣。
——百度算法工程师 孟一凡
与常见的教材相比,这是一本十分适合入门的数据结构图书,它行文有趣,并用大量的插画展示了算法的实现过程,易读易懂。此外,本书也介绍了一些高级数据结构,能够引导有兴趣的读者打开“新世界”的大门。对于需要入门数据结构的读者,强烈推荐本书!
——南阳理工学院ACM队创始人、百度开源大数据平台负责人 张云聪
记得上学的时候,我总觉得数据结构没什么用处,复杂难懂。然而,在工作了几年并做了很多项目后,我才发现成长快的软件开发人员大多是基本功扎实的那些人。在一定程度上,制约我们的发展瓶颈就是数据结构和算法。如果不熟悉数据结构,就很难透彻地理解底层的编程原理,比如,字符串的存储结构和模式匹配、散列表的散列冲突问题、MySQL的存储引擎等。幸运的是,这一切的答案都存在于《趣学数据结构》一书中,就等你来仔细研读。
——高级架构师、《分布式服务架构:原理、设计与实战》作者 杨 彪
《趣学数据结构》一书以趣味化的方式讲解了计算机从业者应该掌握的各类基础数据结构,充分使用图形将复杂的数据结构以简单的方式表达出来,生动有趣、细致深刻。本书可以让技术人员轻松地学习数据结构,大大提高了软件从业人员学习数据结构的效率,是一本的自学数据结构的好书。
——《可伸缩服务架构:框架与中间件》作者 李艳鹏
— 没有更多了 —
以下为对购买帮助不大的评价