红黑树(转载一个大佬的)

是什么,有什么特征?

红黑树是一种含有红黑结点并能自平衡的二叉查找树。
为了解决二叉查找树中,存在着退化为链表的情况,同时为了解决平衡二叉树中追求绝对平衡,导致每次插入新节点之后需要旋转的次数不能预知的问题。
它的特点是:

  1. 每个节点要么是黑色,要么是红色。
  2. 根节点是黑色。
  3. 每个叶子节点(NIL)是黑色。
  4. 每个红色结点的两个子结点一定都是黑色。
  5. 任意一结点到每个叶子结点的路径都包含数量相同的黑结点。
    由此可以推演出来:
    性质5.1:如果一个结点存在黑子结点,那么该结点肯定有两个子结点。(不然无法黑平衡)

它的专有名词有:

  1. 黑平衡:就是性质5,它将是是否进行旋转变色的关键,不破坏黑平衡,则不用旋转,直接插入红色节点即可。

为什么要用?

大大加快了插入的速度,提高了算法的稳定性。

怎么理解

最近没有时间,只能先标记起来了,这篇博文讲得就很好
参考:https://www.jianshu.com/p/e136ec79235c

发布了54 篇原创文章 · 获赞 10 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_42031483/article/details/105333015
今日推荐