新書推薦:
《
控制权视角下的家族企业管理与传承
》
售價:NT$
398.0
《
冯友兰和青年谈心系列
》
售價:NT$
762.0
《
利他主义的生意:偏爱“非理性”的市场(英国《金融时报》推荐读物!)
》
售價:NT$
352.0
《
认知行为疗法:心理咨询的顶层设计
》
售價:NT$
454.0
《
FANUC工业机器人装调与维修
》
售價:NT$
454.0
《
吕著中国通史
》
售價:NT$
286.0
《
爱琴海的光芒 : 千年古希腊文明
》
售價:NT$
908.0
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:NT$
301.0
|
編輯推薦: |
(1)本书运用大量结合着文字的插图来介绍数据结构中的算法,图文并茂,使读者更加容易理解算法的本质。 (2)由于不同的数据结构的应用场景不同,本书讲述了许多不同的应用实例,这有利于读者明确数据结构的真实使用场景。 (3)每章后面都附有小结和习题,读者学完一章后仔细完成章末习题,有利于读者加深对该课程的理解,学会独立思考和解决问题。
|
內容簡介: |
本书介绍了常用的数据结构,全书分为10章,依次为绪论、线性表、栈和队列、串、广义表、树和二叉树、常用二叉树、图、排序及查找。本书采用Python语言来描述和实现各种数据结构,内容丰富,知识点完整,结构层次分明,通过大量插图来讲解算法实现过程,有利于读者理解并巩固数据结构的相关算法思想。 本书可以作为高职高专院校计算机及相关专业的教材,也适合软件开发人员参考使用。
|
關於作者: |
李粤平,博士后,深圳职业技术学院副教授,主要研究方向为数据挖据和图像识别。2008年,毕业于中山大学,获博士学位。2009年-2012年在哈尔滨工业大学从事博士后研究,获中国博士后科学基金一等资助。2010 年起开始进行机器学习方面的研究,并在模式识别领域也进行了多年研究,理论知识扎实。2012年,所在视觉计算与图像处理研发团队,获学校科研团队立项。主持开发了学校《Python语言及其应用》《数据结构》《计算机视觉》《算法分析与设计》和《机器学习实战》等课程。
|
目錄:
|
第 1章 绪论 1
1.1 基本概念和术语 1
1.2 逻辑结构与存储结构 2
1.2.1 逻辑结构 2
1.2.2 存储结构 3
1.3 算法 3
1.3.1 算法的定义 3
1.3.2 算法的特性 4
1.3.3 算法的设计要求 4
1.3.4 算法的效率评价 5
1.3.5 算法的时间复杂度 5
1.3.6 算法的空间复杂度 7
1.4 小结 7
1.5 习题 8
第 2章 线性表 10
2.1 定义 10
2.2 顺序表 10
2.2.1 存储结构 10
2.2.2 基本操作 11
2.3 单链表 14
2.3.1 存储结构 14
2.3.2 基本操作 15
2.3.3 单链表与顺序表的比较 22
2.4 双链表 23
2.4.1 存储结构 23
2.4.2 基本操作 23
2.5 循环链表 31
2.5.1 存储结构 31
2.5.2 基本操作 31
2.6 链表的应用 36
2.6.1 约瑟夫环 36
2.6.2 多项式相加 39
2.7 小结 42
2.8 习题 43
第3章 栈和队列 44
3.1 栈 44
3.1.1 定义 44
3.1.2 基本概念 44
3.1.3 顺序栈 45
3.1.4 链栈 47
3.1.5 栈的应用 49
3.2 队列 55
3.2.1 定义 55
3.2.2 基本概念 55
3.2.3 顺序队列 56
3.2.4 链式队列 60
3.2.5 队列的应用 63
3.3 小结 68
3.4 习题 68
第4章 串 70
4.1 串的定义 70
4.2 串的模式匹配算法 70
4.2.1 Brute-Force算法 71
4.2.2 KMP算法 73
4.3 小结 80
4.4 习题 80
第5章 广义表 81
5.1 定义 81
5.2 基本术语 81
5.3 存储结构 82
5.4 基本操作 83
5.5 广义表的应用 83
5.6 小结 86
5.7 习题 86
第6章 树和二叉树 87
6.1 树 87
6.1.1 树的定义 87
6.1.2 基本术语 88
6.1.3 存储结构 89
6.2 二叉树 92
6.2.1 二叉树的定义 92
6.2.2 二叉树的基本形态 92
6.2.3 满二叉树和完全二叉树 93
6.2.4 二叉树的性质 94
6.2.5 顺序存储结构 95
6.2.6 链式存储结构 96
6.2.7 遍历二叉树 98
6.2.8 二叉树的其他操作 101
6.3 树和森林 102
6.3.1 树转换为二叉树 102
6.3.2 森林转换为二叉树 103
6.4 二叉树的应用 104
6.5 小结 106
6.6 习题 106
第7章 常用二叉树 108
7.1 二叉搜索树 108
7.2 堆 116
7.2.1 堆的定义 116
7.2.2 存储结构 116
7.2.3 基本操作 117
7.3 哈夫曼树 121
7.3.1 基本术语 121
7.3.2 构造哈夫曼树 122
7.3.3 哈夫曼树的实现 123
7.4 平衡二叉树 125
7.4.1 存储结构 125
7.4.2 基本操作 126
7.5 小结 131
7.6 习题 132
第8章 图 134
8.1 图的基本概念 134
8.1.1 定义 134
8.1.2 基本术语 134
8.2 图的存储结构 140
8.2.1 邻接矩阵 140
8.2.2 邻接表 143
8.2.3 十字链表 149
8.3 图的遍历 153
8.3.1 深度优先遍历 153
8.3.2 广度优先遍历 159
8.4 最小生成树 164
8.4.1 Prim算法 164
8.4.2 Kruskal算法 170
8.5 最短路径 175
8.5.1 Dijkstra算法 176
8.5.2 Floyd算法 181
8.5.3 Bellman-Ford算法 188
8.6 拓扑排序 193
8.7 AOE网和关键路径 198
8.7.1 AOE网 198
8.7.2 求解关键路径 198
8.8 小结 206
8.9 习题 207
第9章 排序 208
9.1 插入排序 208
9.1.1 直接插入排序 208
9.1.2 希尔排序 211
9.2 选择排序 213
9.2.1 直接选择排序 213
9.2.2 堆排序 215
9.3 交换排序 218
9.3.1 冒泡排序 218
9.3.2 快速排序 220
9.4 归并排序 222
9.5 小结 225
9.6 习题 225
第 10章 查找 227
10.1 基本概念 227
10.2 顺序查找 228
10.3 二分查找 228
10.4 分块查找 229
10.5 B-树 230
10.5.1 基本概念 230
10.5.2 基本操作 230
10.6 哈希表 235
10.6.1 基本概念 235
10.6.2 构造方法 235
10.6.3 处理冲突 236
10.7 小结 238
10.8 习题 238
|
|