图解数据结构与算法 计算机编程入门 数据结构 算法 图解 趣学 程序设计 软件开发 设计模式pdf下载

图解数据结构与算法 计算机编程入门 数据结构 算法 图解 趣学 程序设计 软件开发 设计模式百度网盘pdf下载

作者:
简介:图解数据结构与算法 计算机编程入门 数据结构 算法 图解 趣学 程序设计 软件开发 设计模式
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍


内容介绍

《图解数据结构与算法》是一本“少字多图”、以图描述原理、形象且易于理解的数据结构与算法图书。全书共分为7章,首先介绍了一些基础的数据结构,包括数组、链表、栈和队列等;然后通过例子来讲解递归和动态规划的算法思想;接着对树进行了讲解,包括二叉树、二叉搜索树、AVL树、红黑树、2-3树、B树以及Trie树等不同用途的树;在树的基础上讲解了堆,包括二叉堆、二项堆和斐波那契堆三种堆结构;还讲解了图结构,主要包括图的表示方式、图的遍历、图的*短路径以及*小生成树;*后讲解了比较排序和非比较排序,其中,比较排序包括选择排序、冒泡排序、插入排序、快速排序、希尔排序、合并排序和堆排序等,而非比较排序则包括计数排序、基数排序和桶排序等。 《图解数据结构与算法》适合对数据结构和算法感兴趣并且想要通过一种轻松的方式学习和掌握数据结构与算法的读者阅读。无论他们是否有编程基础,均可看懂本书。

作者介绍

汪建(seaboat),毕业于广东工业大学光信息科学与技术专业,毕业后从事各类业务系统、中间件、基础架构和人工智能系统等方向的研发工作,目前致力于用AI来提升企业业务系统效率并节约人力成本。擅长工程算法、人工智能算法、自然语言处理、架构、分布式、高并发、大数据和搜索引擎等方面的技术,大多数编程语言都会使用,但更擅长Java、Python和C++。平时喜欢看书、写作和运动,擅长篮球、跑步、游泳、健身和羽毛球等运动项目。崇尚开源,崇尚技术自由,更崇尚思想自由。 个人博客为blog.csdn.net/wangyangzhizhou。大家也可以扫描下方二维码或在微信中搜索“远洋号”关注作者的个人公众号。

关联推荐

数据结构与算法的图解式呈现 全彩印刷 培养编程逻辑 注重步骤实现
目录

第 1章 基础数据结构 1
1.1 数组 1
1.1.1 一维数组 1
1.1.2 二维数组 2
1.1.3 三维及更高维数组 3
1.2 链表 4
1.2.1 单向链表 5
1.2.2 双向链表 14
1.3 栈 19
1.3.1 基于数组的栈 19
1.3.2 基于链表的栈 21
1.4 队列 23
1.4.1 基于数组的队列 23
1.4.2 基于链表的队列 26
第 2章 递归与动态规划 28
2.1 递归 28
2.1.1 阶乘 28
2.1.2 斐波那契数列 30
2.2 动态规划 32
2.2.1 斐波那契数列 33
2.2.2 *长公共子序列 36
第3章 树 45
3.1 二叉树 46
3.1.1 完全二叉树 47
3.1.2 满二叉树 48
3.1.3 平衡二叉树 48
3.2 二叉搜索树 49
3.2.1 性质 49
3.2.2 插入操作 50
3.2.3 插入顺序性 51
3.2.4 查找操作 53
3.2.5 中序前驱节点 54
3.2.6 中序后继节点 56
3.2.7 删除操作 58
3.3 AVL树 61
3.3.1 性质 61
3.3.2 二叉搜索树的平衡 62
3.3.3 为什么要旋转 63
3.3.4 插入类型及旋转 63
3.3.5 插入操作 67
3.3.6 查找操作 68
3.3.7 删除操作 69
3.4 红黑树 71
3.4.1 性质 71
3.4.2 旋转和变色 72
3.4.3 插入操作 72
3.4.4 查找操作 79
3.4.5 删除操作 80
3.5 2-3树 86
3.5.1 性质 86
3.5.2 插入操作 87
3.5.3 查找操作 89
3.5.4 删除操作 91
3.6 B树 98
3.6.1 性质 98
3.6.2 插入操作 99
3.6.3 查找操作 102
3.6.4 删除操作 102
3.7 Trie树 109
3.7.1 性质 109
3.7.2 插入操作 109
3.7.3 查找操作 111
3.7.4 删除操作 113
第4章 堆 117
4.1 二叉堆 117
4.1.1 二叉堆的性质 117
4.1.2 二叉堆的实现 118
4.1.3 二叉堆的作用 118
4.1.4 插入操作 118
4.1.5 删除操作 121
4.1.6 构建操作 123
4.2 二项堆 125
4.2.1 结构与性质 125
4.2.2 插入与合并 126
4.2.3 查找*大(小)值 129
4.2.4 删除*大(小)值 131
4.3 斐波那契堆 133
4.3.1 结构及性质 133
4.3.2 斐波那契数列 134
4.3.3 插入操作 135
4.3.4 获取*小节点 136
4.3.5 合并两个斐波那
契堆 136
4.3.6 删除*小键
值节点 136
4.3.7 减小节点键值 139
4.3.8 删除节点 142
第5章 图 143
5.1 图的表示方式 144
5.2 图的遍历 145
5.2.1 广度优先搜索 146
5.2.2 深度优先搜索 151
5.3 图的*短路径 158
5.3.1 Dijkstra算法 158
5.3.2 Floyd算法 166
5.4 *小生成树 177
5.4.1 Prim算法 178
5.4.2 并查集 185
5.4.3 Kruskal算法 190
第6章 比较排序 196
6.1 选择排序 196
6.1.1 排序要点 196
6.1.2 排序性能 197
6.1.3 排序过程 197
6.1.4 稳定性 199
6.2 冒泡排序 200
6.2.1 排序要点 201
6.2.2 排序性能 201
6.2.3 排序过程 201
6.3 插入排序 203
6.3.1 排序要点 203
6.3.2 排序性能 204
6.3.3 排序过程 204
6.4 快速排序 207
6.4.1 排序要点 207
6.4.2 排序性能 207
6.4.3 排序过程 208
6.5 希尔排序 213
6.5.1 排序要点 214
6.5.2 排序性能 214
6.5.3 排序过程 214
6.6 合并排序 219
6.6.1 排序要点 220
6.6.2 排序性能 220
6.6.3 排序过程 220
6.7 堆排序 230
6.7.1 排序要点 230
6.7.2 排序性能 231
6.7.3 排序过程 231
第7章 非比较排序 236
7.1 计数排序 236
7.1.1 不考虑稳定性的
情况 236
7.1.2 考虑稳定性的情况 239
7.1.3 计数排序的局限 247
7.2 基数排序 247
7.2.1 排序性能 247
7.2.2 排序方式 247
7.2.3 基于计数排序的
实现 248
7.2.4 基于桶的实现 253
7.2.5 MSD排序方式 257
7.3 桶排序 260
7.3.1 排序性能 260
7.3.2 排序要点 261
7.3.3 桶的区间 261
7.3.4 排序过程 261