• 红黑树( Red-Black Tree )


    1.  红黑树属性:根到叶子的路径中,最长路径不大于最短路径的两倍。

    2. 红黑树是一个二叉搜索树,并且有

      a. 每个节点除了有左、右、父节点的属性外,还有颜色属性,红色或者黑色。

      b. ( 根属性 ) 红黑树的根只能是黑色

      c. ( 红色属性 ) 红色节点的子节点只能是黑色

      d. ( 黑色属性 ) 从给定的节点到其后代叶子节点的每一条路径上,出现的黑色节点数目一样。其中,从某个节点到其后代叶子节点的路径上出现的黑色节点数,被称为该节点的黑高度( black-height )。

    3. 红黑树上的查找、输出操作和在二叉搜索树上相同。二叉搜索的插入、删除操作应用到红黑树后,可能打破上面提到的红黑树特性。如果打破了,需要调整结构来恢复红黑树的特性。

    4. 插入,每次插入的节点都标示为红色,可能出现两个连续红色节点,以至于打破红色属性。若是打破了,根据叔节点( 父节点的兄弟节点 )的颜色,采用不同的调整方式。

    删除,删除的节点如果是红色,不会打破特性;如果是黑色,可能改变其他节点的黑高,打破黑色属性。若是打破了,同样需要分情况,采用不同的调整方式。

    插入操作、删除操作的具体实现,尚未读透,有需要再深入理解。

    应用场景:Java HashMap 在处理大量 hash 值冲突时,采用红黑树结构存储冲突的元素,提高性能。

  • 相关阅读:
    Working with File Contents and Files in Power Automate
    Quickly edit data in your Common Data Service
    Import Excel Data into a Model Driven PowerApp using Data Integration Project
    mybatis 的CRUD操作
    网络编程
    字节流、字符流
    File类、递归
    线程池
    等待与唤醒案例
    线程
  • 原文地址:https://www.cnblogs.com/Pjson/p/8747471.html
Copyright © 2020-2023  润新知