红黑树

作者: HaigLee | 来源:发表于2019-12-30 23:46 被阅读0次

作者:HaigLee
https://www.jianshu.com/u/67ec21fb270d
本文由 HaigLee 发布。未经许可,禁止转载。

AVL树和(2,4)树具有许多好的特性,但是它们也有一些缺点。例如:AVL树删除后可能需要执行的多重组操作(旋转),(2,4)树在插入和删除之后可能需要进行许多分裂或者融合操作。然而红黑树没有这些缺点,在一次更新之后,它使用O(1)次结构变化来保持平衡。
从形式上来讲,红黑树是一棵带有红色和黑色节点的二叉搜索树,具有下面的属性:

  • 根属性:根节点是黑色的;
  • 红色属性:红色节点(如果有的话)的子节点是黑色的;
  • 深度属性:具有零个或者一个子节点的所有节点都具有相同的黑色深度(被定义为黑色祖先节点的数量)。

另外,红黑树和(2,4)树(不包括它们的琐碎外部节点)之间有一个有趣的对应使红黑树的定义更为直观,即给定一棵红黑树,我们可以构建一棵相应的(2,4)树:合并每一个红色节点w到它的父节点,从w存储条目到其父节点,并使w的子节点变得有序。

作者:HaigLee
https://www.jianshu.com/u/67ec21fb270d
本文由 HaigLee 发布。未经许可,禁止转载。

相关文章

  • 数据结构—树—红黑树

    红黑树概述 红黑树的插入 红黑树的删除

  • TreeMap

    需要先了解红黑树,这是之前分析红黑树的文章。之前在分析红黑树时,我认为红黑树=二叉查找树+红黑平衡,关于二叉查找树...

  • 数据结构与算法-AVL 红黑树

    AVL树AVL树 算法红黑树红黑树 B站

  • [转载]红黑树

    https://zhuanlan.zhihu.com/p/24367771红黑树简介红黑树插入红黑树删除

  • 拿下红黑树

    红黑树 红黑树、2-3树的简单定义: 实现红黑树的基本结构以及添加操作(维护定义,左旋、右旋、颜色反转) 红黑树与...

  • 红黑树

    啥是红黑树,红黑树 = 二叉树

  • 彻底理解红黑树(二)之 插入

    彻底理解红黑树(一)之 二叉搜索树彻底理解红黑树(二)之 插入彻底理解红黑树(三)之 删除 前言 红黑树的插入情况...

  • 彻底理解红黑树(三)之 删除

    彻底理解红黑树(一)之 二叉搜索树彻底理解红黑树(二)之 插入彻底理解红黑树(三)之 删除 前言 红黑树的删除情况...

  • Golang红黑树

    红黑树 红黑树是每个节点都带有颜色属性(红色或黑色)的二叉查找树。红黑树也属于自平衡二叉查找树。 红黑树具有如下性...

  • 数据结构红黑树添加、修改原理分析

    源码分析大纲 数据结构解析 红黑树试下原理刨析 数据结构解析 1.红黑树 1.1 红黑树概念 红黑树(Red Bl...

网友评论

      本文标题:红黑树

      本文链接:https://www.haomeiwen.com/subject/nfbeoctx.html