红黑树规则

红黑树

性质

  1. 根节点都是黑色
  2. 红色节点的子节点必然是黑色
  3. 每个节点不是红色就是黑色
  4. 叶子节点都是黑色

旋转

旋转与颜色变换规则

  1. 所有插入的节点默认是红色

颜色变换

  1. 当前节点的父节点是红色 且 其祖父节点的另一个子节点(叔叔节点)也是红色
    • 将父节点和叔叔节点变成黑色 祖父节点变成红色 然后对祖父节点进行判断是否需要变换颜色或者旋转

旋转

  • 左旋
    • 当父节点是红色,叔叔节点是黑色,且当前节点是右节点时,对父节点进行左旋
    • 父节点变黑,祖父节点下沉变红
  • 右旋
    • 当父节点是红色,叔叔节点是黑色,且当前节点是左节点时,对祖父节点进行右旋
相关推荐
风中芦苇啊16 小时前
Java EasyExcel 导入通用工具类:自定义注解映射字段 + 反射机制
java·开发语言
家有娇妻张兔兔16 小时前
Java 对接 PLC 主流型号最合适的方案:Apache PLC4X 实战指南
java·开发语言·plc·modbus·数据缓存·西门子s7·apache plc4x
摇滚侠17 小时前
Codebuddy 官网 Codebuddy IntelliJ IDEA 插件 阅读笔记 2
java·笔记·intellij-idea
gugucoding18 小时前
24. 【Java】枚举:更安全的常量
java·开发语言
Kyrie_kk18 小时前
Java--BigInteger 超大整数计算
java·算法
开发者联盟league18 小时前
Java 通过 JNA 调用 C++ DLL:关键流程总结
java·c++·jna
z落落18 小时前
T-SQL 事务(Transaction)
java·数据库·sql
库克克19 小时前
【C++】智能指针
java·开发语言·c++
lemon_sjdk19 小时前
Spring WebFlux 响应式编程深度解析:从架构选型到核心抽象
java·spring·架构
就改了19 小时前
Mybatis快速入门大全(详细版)
java·spring boot·mybatis