技术主题
计算机中最典型的数据结构就是树,掌握底层的树的数据结构,是成为一名优秀的工程师的基础。
技术原理
二叉树
每个节点最多有两个子节点,分别称为左子节点和右子节点,二叉树是最简单,最常见的树结构
二叉搜索树
一种特殊的二叉树,对于每个节点,其左子树中的所有节点的值都小于它,而右子树中的所有节点的值都大于它。
平衡二叉树
是一种特殊的二叉树,它的左子树和右子树的高度差不会超过一个固定的常数,通常是1。平衡二叉树的例子包括AVL树和红黑树。
B树
B树是一种自平衡的多叉树(每个节点可以有多个子节点),通常应用于数据库和文件系统中,用于高效地存储和检索大量数据。
堆
是一种特殊的树,用于快速查找最大值或最小值。堆通常用于实现优先队列
红黑树
1)红黑树是一种自平衡的二叉搜索树,也就是在二叉搜索树的基础上进行自平衡,高效的查找、插入、删除操作中。红黑树之所以被称为红黑,是因为每个节点上都有一个存储的额外信息,用于表示节点的颜色。通常为红色或黑色。
2)红黑树满足以下五个基本性质:
1、节点是红色或黑色。
2、根节点是黑色
3、所有叶节点都是黑色
4、如果一个节点是红色的,则它的两个子节点都是黑色的(没有连续的红色节点)