数据结构(红黑树)

概念

红黑树是一种自平衡的二叉查找树,是计算机科学中用到的一种数据结构。

1972年出现,当时被称之为平衡二叉B树。后来,1978年被修改为如今的"红黑树"

它是一种特殊的二叉查找树,红黑树的每一个节点上都有存储位表示节点的颜色

每一个节点可以是红或者黑;红黑树不是高度平衡的,它的平衡是通过"红黑规则"进行实现的

红黑规则

1.每一个节点或是红色的,或者是黑色的

2.根节点必须是黑色

3.如果一个节点没有子节点或者父节点,则该节点相应的指针属性值为Nǐl,这些Nil视为叶节点,每个叶节点(Nil)是黑色的

4.如果某一个节点是红色,那么它的子节点必须是黑色(不能出现两个红色节点相连的情况)

5.对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点;

默认颜色:添加节点默认时红色的效率更高

相关推荐
小锋java123419 分钟前
Maven 4 要来了:15 年后,Java 构建工具迎来"彻底重构"
java·maven
卓怡学长34 分钟前
w269基于spring boot + vue 候鸟监测数据管理系统
java·数据库·spring boot·spring·intellij-idea
孫治AllenSun1 小时前
【MDC】使用 MDC 封装一个 LogMdcUtil 工具类
java·spring boot·后端
济*沧*海1 小时前
BaseMapper的介绍
java·windows·tomcat
plainGeekDev1 小时前
依赖管理 → Version Catalog
android·java·kotlin
淘源码d2 小时前
医学影像云PACS系统——PACS诊断工作站
java·源码·影像处理·医院管理系统·影像工作站·云pacs系统·dicom 标准通信
NiceCloud喜云3 小时前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai
SamDeepThinking3 小时前
组合还是继承?我在项目里主要看这两个判断
java·后端·面试
momo4 小时前
JAVA基础知识
java·开发语言
就叫_这个吧4 小时前
Activiti7工作流入门+案例应用
java·activiti7·工作流