树内容理解之红黑树

明白红黑树前需要理解的前提概念:

  二叉查找树(BST)

    1.左子树上所有节点的值均<=他的根节点的值

    2.右子树上所有节点的值均>=他的根节点的值

    3.左右子树也一定分别为二叉查找树

二叉查找树利用和二分查找相同的概念来进行数据的便捷查找:(二分查找见排序算法解释)

如果根节点足够大,二叉查找树“左腿”会很长。如下图:

此时为了平衡左腿节点,(最长路径不超过最短路径的两倍)引入平衡的二叉查找树=>红黑树

红黑树满足:(在满足树自身是一个二叉查找树BST的前提下)

  1.节点是红色或者黑色。

  2.根节点是黑色。

  3.每个叶子的节点都是黑色的空节点。

  4.每个红色节点的两个子节点都是黑色的。

  5.从任意节点到其每个叶子的所有路径都包含相同的黑色节点。

原文地址:https://www.cnblogs.com/saber123/p/11531581.html