可以证明2-3-4树和红黑树在数学上是同构(等价)的。在历史上,也是2-3-4树先被提出来,后来红黑树由它发展而来。 二、如何把2-3-4树转为红黑树 有三条规则分别对应有2,3,4个子节点的情况: 1、若该节点有两个子节点,则把该节点转为红黑树中的黑色节点。 2、若该节点有三个子节点,则节点中存有两个数...
4节点对应红黑树中的中间黑两边红。 裂变状态对应红黑树中:上红下黑新增红(新增一定是红),如果上是根节点再转为黑色。 红黑树定义: 根据2-3-4树倒推红黑树的5大性质: 1,所有节点只有两种颜色; 2,2节点为根=黑,3节点为根=上黑下红,4节点为空=中间黑两边红;所以根节点一定是黑色; 3,null为黑; 4,倒...
红黑树就是吸收了2-3-4树和AVL树的优点,放弃了AVL树完美平衡的特性,改为局部平衡和完美黑色平衡。放弃2-3-4树的多节点,改为使用颜色来区分不同的节点类型。这样就降低了维护的成本和时间复杂度。可以直接使用二叉排序树的查找方法来进行查找操作。 上段参考:数据结构:红黑树简介 由于红黑树插入和删除的情况比较...
普通二叉查找树可能是直接在节点下方添加一个子节点,而2-3-4树当中则会以一种“合并”的方式并入到当前节点当中。正因为这种“合并”操作使得2-3-4树在插入删除时保持实时平衡成为可能,因为每次插入2-3-4树的节点都会有一次判断的机会(可能时并入也可能是分裂(进位)),有了这一次操作就可以将暂时会导致破坏树平...
4、完整源码实现 5、2-3-4树和红黑树 ①、对应规则 ②、操作等价 6、2-3-4 树的效率 通过前面的介绍,我们知道在二叉树中,每个节点只有一个数据项,最多有两个子节点。如果允许每个节点可以有更多的数据项和更多的子节点,就是多叉树。本篇博客我们将介绍的——2-3-4树,它是一种多叉树,它的每个节点最...
根据上图【步骤2】结合之前红黑树和2-3-4树对应转换关系,红节点向上连接的线为红线,红线连接的节点可以组成一个node,那么可以看出在变化前节点“25”,“30”,“35”形成的是一个4node。而这个时候向红黑树新插入节点“40”的操作也就等同于向“25”,“30”,“35”组成的4node中插入一个节点“40”。
红黑树的本质是2-3-4树,所以我们先掌握了2-3-4树,那么红黑树就非常容易了。本文重点来介绍2-3-4树。 2-3-4树 1 概念介绍 2-3-4树是四阶的 B树(Balance Tree),他属于一种多路查找树,它的结构有以下限制: 所有叶子节点都拥有相同的深度。 节点只能是 2-节点、3-节点、4-节点之...
一、2-3-4树的定义 2-3-4树就是一种4阶的多叉树,它像红黑树一样是平衡树,可以保证在O(lgn)的时间内完成查找、插入和删除操作,容易实现,但是效率比红黑树稍差。 2-3-4树每个节点最多有四个字节点和三个数据项,名字中 2,3,4 的数字含义是指一个节点可能含有的子节点的个数。对于非叶节点有三种可能...
由红黑树的性质5,和 2-3-4树的性质1,为了便于理解红黑树和 2-3-4树的对应关系,我们可以把红黑树从根结点到叶子结点的黑色结点个数定义为高度。 红黑树和 2-3-4树的结点添加和删除都有一个基本规则:避免子树高度变化,因为无论是 2-3-4树还是红黑树,一旦子树高度有变动,势必会影响其他子树进行调整,所以我...
平衡二叉树,如AVL树,是二叉搜索树的一种,它通过限制每个节点的左子树和右子树的高度差不超过1来保持树的平衡。平衡二叉树在插入和删除操作后会进行旋转操作来恢复平衡,但这种严格的平衡策略在某些情况下可能会导致较高的维护成本。红黑树通过允许一定程度的不平衡性,用颜色标记来实现动态平衡,从而在...