红黑树增删

######仅个人学习使用,如有侵权,请联系删除

红黑树有以下五个性质:
1.根节点为黑色

2.节点为红色或者黑色
3.每个叶子节点NIL为黑色

4.节点为红色,则两个孩子都为黑色(即每条路径上不能有连续两个红色)

5.任意一个节点到其所有子孙节点的NIL的路径上包含相同数目的黑色节点
注意,在红黑树中,把传统二叉树的叶子节点的孩子指向NIL,称NIL为红黑树中的叶子节点。NIL节点中含有指向父节点的指针,这可能是需要把null改为NIL的原因。
一.插入操作
首先以二叉查找树的插入方式插入新的节点(插入的节点都是叶子节点处),并将其涂为红色。然后再进行调整使其满足红黑树的五个性质。
新插入节点先涂为红色的原因:因为插入一个红色节点比插入一个黑色节点违背的性质要 少,这就会减少我们调整二叉树的次数。如果插入黑色节点 ,则必然会违反第5条性质;如果插入为红色节点,则只有一半的机会违反第4条性质,而且违反第4条性质比违反第5条性质比较起来,前者修正要方便一线。

下图为示例图:

N为新插入节点

P为插入节点的父亲节点

U为插入节点的叔父节点

R为根节点

G为祖先节点

在这里插入图片描述
插入分为以下三种情况:
1.新节点没有父节点(即插入根节点)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值