数据结构(红黑树)

概念

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

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

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

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

红黑规则

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

2.根节点必须是黑色

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

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

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

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

相关推荐
Java内核笔记2 小时前
Spring AI 生产级 Chat 接口:6 个开关、13 个坑,其中 2 个开关根本没生效
java·人工智能·后端
雷一言说2 小时前
Spring AI 2.0 RAG:用 Metadata Filter 做多租户检索隔离
java·spring
WeiXin_DZbishe2 小时前
基于springboot装修风格选择系统的设计与开发-计算机毕设【课程设计】77964
java·vue.js·spring boot·后端·python·php·课程设计
XZ-0700012 小时前
week9-三元表达式
java·前端·python
云和数据.ChenGuang3 小时前
name=“张三“ age=18 weight=100.3 print (name,age,weight)
java·服务器·前端
Yeswater3 小时前
从 NIO 到 Netty:五个坑,和一张把它填平的基础设施网
java·后端·netty
denlaku3 小时前
JDK 15 新特性详解
java·开发语言
荣码3 小时前
LangSmith可观测性:AI应用出bug根本不知道哪里出了问题,我踩了4个坑
java·python
十年Java程序媛4 小时前
Java 多线程基础与锁机制详解|进程线程、锁升级、synchronized 与 Lock 对比
java·开发语言·spring boot
弯_弯4 小时前
FDE 的工程能力画像:数据接入、PoC 与可复用资产的落地口径
java·服务器·开发语言