zoukankan      html  css  js  c++  java
  • 红黑树---满足红黑性质的二叉查找树

    红黑树是一棵二叉查找树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是red或black。

    通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因而是近似于平衡的

    树中每个结点包含5个属性:color、key、left、right和p。如果一个结点没有子结点或父结点,则该结点相应指针属性的值为NIL。

    我们可以把这些NIL视为指向二叉查找树的叶结点(外部结点)的指针,而把带关键字的结点视为树的内部结点

    一棵红黑树是满足下面红黑性质二叉查找树

    1. 每个结点或是红色的,或是黑色的。

    2. 根结点是黑色的。

    3. 每个叶结点(NIL)是黑色的。

    4. 如果一个结点是红色的,则它的两个子结点都是黑色的。

    5. 对每个结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点。

    引理:一棵有n个内部结点的红黑树的高度至多为2lg(n+1)。

  • 相关阅读:
    dp
    数学分析 + 容斥原理
    容斥
    并查集
    矩阵hash + KMP
    扫描线
    位运算
    2015 Multi-University Training Contest 5 1009 MZL's Border
    iOS ZipArchive文件解压缩
    iOS GCD倒计时
  • 原文地址:https://www.cnblogs.com/i-hard-working/p/10750251.html
Copyright © 2011-2022 走看看