需要满足的性质:

  1. 节点是红色或黑色。
  2. 根是黑色。
  3. 所有叶子都是黑色(叶子是NIL节点)。
  4. 每个红色节点必须有两个黑色的子节点。(也就是说,红色节点是被黑色节点隔开的)
  5. 从任一节点到其每个叶子的所有简单路径都包含相同数目的黑色节点。

    由此带来的特性:

    它是一棵近似平衡的平衡二叉查找树
    红黑树从根节点到各个叶子节点的最长路径,有可能会比最短路径大一倍

    查找插入删除:

问题 & 思考

  1. AVL树 VS 红黑树
    1. 红黑树确保没有一条路径会比其它路径长出两倍。它是一种弱平衡二叉树(由于是弱平衡,可以推出,相同的节点情况下,AVL树的高度低于红黑树),相对于要求严格的AVL树来说,它的旋转次数少,所以对于搜索、插入、删除操作较多的情况下,我们就用红黑树。