zoukankan      html  css  js  c++  java
  • 树内容理解之红黑树

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

      二叉查找树(BST)

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

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

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

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

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

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

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

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

      2.根节点是黑色。

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

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

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

  • 相关阅读:
    Semaphore使用
    不可变对象
    Java锁--Lock实现原理(底层实现)
    Lambda Expressions and Functional Interfaces: Tips and Best Practices
    注解的作用
    linux命令大全
    linux &和&&,|和||
    SpringCloud 商品架构例子(一)
    springcloud starter(一)
    dubbo(一)
  • 原文地址:https://www.cnblogs.com/saber123/p/11531581.html
Copyright © 2011-2022 走看看