数据结构(红黑树)

概念

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

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

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

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

红黑规则

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

2.根节点必须是黑色

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

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

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

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

相关推荐
Moshow郑锴9 分钟前
实战分享:用 SpringBoot-API-Scheduler 构建 API 监控闭环 —— 从断言验证到智能警报
java·spring boot·后端·任务调度
掘我的金27 分钟前
播放器最怕“首帧黑屏”?我给 LibreTV 加了一套缓冲与预加载策略
java
低客的黑调44 分钟前
为你的项目选择一个适合的[垃圾收集器]
java·jvm·算法
雨中飘荡的记忆1 小时前
优惠券系统设计与实现
java
1***t8271 小时前
将 vue3 项目打包后部署在 springboot 项目运行
java·spring boot·后端
芬加达1 小时前
leetcode34
java·数据结构·算法
__万波__1 小时前
二十三种设计模式(三)--抽象工厂模式
java·设计模式·抽象工厂模式
better_liang1 小时前
每日Java面试场景题知识点之-线程池配置与优化
java·性能优化·面试题·线程池·并发编程
q***2511 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
N***H4861 小时前
使用Springboot实现MQTT通信
java·spring boot·后端