编辑推荐
图解+步骤学数据结构,适合非编程读者。
内容简介
本书共分为7章,首先介绍了一些基础的数据结构,包括数组、链表、栈和队列等;然后通过例子来讲解递归和动态规划的算法思想;接着对树进行了讲解,包括二叉树、二叉搜索树、AVL树、红黑树、2-3树、B树以及Tie树等不同用途的树;在树的基础上讲解了堆,包括二叉堆、二项堆和要波那契堆三种堆结构;还讲解了图结构,主要包括图的表示方式、图的遍历、图的最短路径以及最小生成树;最后讲解了比较排序和非比较排序,其中,比较排序包括选择排序、冒泡排序、插入排序、快速排序、希尔排序、合并排序和堆排序等,而非比较排序则包括计数排序、基数排序和桶排序等。
章节目录
版权信息
版权
内容提要
作者简介
致谢
前言
资源与支持
第1章 基础数据结构
1.1 数组
1.1.1 一维数组
1.1.2 二维数组
1.1.3 三维及更高维数组
1.2 链表
1.2.1 单向链表
1.2.2 双向链表
1.3 栈
1.3.1 基于数组的栈
1.3.2 基于链表的栈
1.4 队列
1.4.1 基于数组的队列
1.4.2 基于链表的队列
第2章 递归与动态规划
2.1 递归
2.1.1 阶乘
2.1.2 斐波那契数列
2.2 动态规划
2.2.1 斐波那契数列
2.2.2 最长公共子序列
第3章 树
3.1 二叉树
3.1.1 完全二叉树
3.1.2 满二叉树
3.1.3 平衡二叉树
3.2 二叉搜索树
3.2.1 性质
3.2.2 插入操作
3.2.3 插入顺序性
3.2.4 查找操作
3.2.5 中序前驱节点
3.2.6 中序后继节点
3.2.7 删除操作
3.3 AVL树
3.3.1 性质
3.3.2 二叉搜索树的平衡
3.3.3 为什么要旋转
3.3.4 插入类型及旋转
3.3.5 插入操作
3.3.6 查找操作
3.3.7 删除操作
3.4 红黑树
3.4.1 性质
3.4.2 旋转和变色
3.4.3 插入操作
3.4.4 查找操作
3.4.5 删除操作
3.5 2-3树
3.5.1 性质
3.5.2 插入操作
3.5.3 查找操作
3.5.4 删除操作
3.6 B树
3.6.1 性质
3.6.2 插入操作
3.6.3 查找操作
3.6.4 删除操作
3.7 Trie树
3.7.1 性质
3.7.2 插入操作
3.7.3 查找操作
3.7.4 删除操作
第4章 堆
4.1 二叉堆
4.1.1 二叉堆的性质
4.1.2 二叉堆的实现
4.1.3 二叉堆的作用
4.1.4 插入操作
4.1.5 删除操作
4.1.6 构建操作
4.2 二项堆
4.2.1 结构与性质
4.2.2 插入与合并
4.2.3 查找最大(小)值
4.2.4 删除最大(小)值
4.3 斐波那契堆
4.3.1 结构及性质
4.3.2 斐波那契数列
4.3.3 插入操作
4.3.4 获取最小节点
4.3.5 合并两个斐波那契堆
4.3.6 删除最小键值节点
4.3.7 减小节点键值
4.3.8 删除节点
第5章 图
5.1 图的表示方式
5.2 图的遍历
5.2.1 广度优先搜索
5.2.2 深度优先搜索
5.3 图的最短路径
5.3.1 Dijkstra算法
5.3.2 Floyd算法
5.4 最小生成树
5.4.1 Prim算法
5.4.2 并查集
5.4.3 Kruskal算法
第6章 比较排序
6.1 选择排序
6.1.1 排序要点
6.1.2 排序性能
6.1.3 排序过程
6.1.4 稳定性
6.2 冒泡排序
6.2.1 排序要点
6.2.2 排序性能
6.2.3 排序过程
6.3 插入排序
6.3.1 排序要点
6.3.2 排序性能
6.3.3 排序过程
6.4 快速排序
6.4.1 排序要点
6.4.2 排序性能
6.4.3 排序过程
6.5 希尔排序
6.5.1 排序要点
6.5.2 排序性能
6.5.3 排序过程
6.6 合并排序
6.6.1 排序要点
6.6.2 排序性能
6.6.3 排序过程
6.7 堆排序
6.7.1 排序要点
6.7.2 排序性能
6.7.3 排序过程
第7章 非比较排序
7.1 计数排序
7.1.1 不考虑稳定性的情况
7.1.2 考虑稳定性的情况
7.1.3 计数排序的局限
7.2 基数排序
7.2.1 排序性能
7.2.2 排序方式
7.2.3 基于计数排序的实现
7.2.4 基于桶的实现
7.2.5 MSD排序方式
7.3 桶排序
7.3.1 排序性能
7.3.2 排序要点
7.3.3 桶的区间
7.3.4 排序过程
图解数据结构与算法是2020年由人民邮电出版社出版,作者汪建。
得书感谢您对《图解数据结构与算法》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。