红黑树结构

博客介绍了排序树、查找树,它们基于二叉树,元素有大小顺序。还阐述了平衡树,其任一节点两子树高度差不超1,而不平衡树查询不稳定。重点介绍红黑树,趋近平衡树,查询快,有诸多约束条件,且JDK1.8后哈希表新增红黑树部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
排序树,查找树
在二叉树的基础上,元素是有大小顺序的,左子树元素小,右子树元素大
平衡树:任一节点的两颗子数高度差的不超过1(如上图)

在这里插入图片描述
如上图是不平衡树,要查询1,在根节点比较,比6小,再往下查询,第四次才找到,查询数据不稳定
不平衡树,高度差值大于1

在这里插入图片描述
红黑树:
趋近于平衡树,查询的速度非常快.
查询叶子结点的最大次数和最小次不能超过2倍
意思是:13-17-15-NIL为4次,1-17-25-22-NIL为5次,次数最大可以达到8,这就是红黑树.
平衡树:任一节点的两颗子数高度差的不超过1

红黑树的约束:
1.节点可以是红色或者黑色的
2.根节点是黑色的
3.叶子结点(特指空节点)是黑色的
4.每个红色节点的子节点都是黑色的
5.任何一个节点到其每一个叶子节点的所有路径上黑色节点数相同
JDK1.8之前,哈希表是由数组+链表实现的,JDK1.8后,新增红黑树部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值