数据结构(红黑树)

概念

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

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

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

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

红黑规则

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

2.根节点必须是黑色

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

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

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

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

相关推荐
chilavert3189 小时前
技术演进中的开发沉思-371:final 关键字(中)
java·前端·数据库
海边的Kurisu9 小时前
Mybatis-Plus | 只做增强不做改变——为简化开发而生
java·开发语言·mybatis
识君啊9 小时前
Java 二叉树从入门到精通-遍历与递归详解
java·算法·leetcode·二叉树·深度优先·广度优先
daidaidaiyu9 小时前
一文学习 Spring AOP 源码全过程
java·spring
毕设源码-郭学长10 小时前
【开题答辩全过程】以 高校人事管理系统 为例,包含答辩的问题和答案
java
Zhu_S W10 小时前
Kubernetes (K8s) 完全指南:Java 开发者的容器编排实践
java·容器·kubernetes
罗超驿10 小时前
15. Java异常处理全解析:从底层原理到实战避坑指南
java·异常处理·开发实战·编程技巧·自定义异常·try-catch
柒.梧.10 小时前
吃透Spring Bean:生命周期、单例特性、作用域及扩展方式
java·后端·spring
zihan032111 小时前
若依(RuoYi)框架核心升级:全面适配 SpringData JPA,替换 MyBatis 持久层方案
java·开发语言·前端框架·mybatis·若依升级springboot
神奇大叔11 小时前
Java 配置文件记录
java·开发语言