红黑树学习笔记

1.红黑树的特质

1.每个节点不是红色就是黑色
2.不可能有连在一起的红色节点
3.根节点都是黑色的 root(没有父节点的节点就是根节点,即入度为0)
4.每个红色节点的两个子节点都是黑色,叶子节点都是黑色,出度为0,满足了性质就可以近似的平衡了,不一定要红黑,也可以是其他的。

2.红黑树的旋转

红黑树有三种旋转方式
1.改变颜色(红变黑,黑变红)
2.左旋
3.右旋

3.红黑树的旋转规则

旋转和颜色变换规则: 所有插入的点默认为红色。
1.变颜色情况: 当前结点的父亲是红色,且它的祖父结点的另一个子结点也是红色(叔叔结点)
1)把父结点设置为黑色
2)把叔叔也设置为黑色
3)把祖父也就是父亲的父亲设置为红色(爷爷)
4)把指针定义到祖父结点设置为当前要操作的。(爷爷)分析的点变换的规则
2.左旋: 当前父结点是红色,叔叔是黑色的时候,且当前的结点是右子树。左旋以父结点作为左旋
3.右旋: 当前父结点是红色,叔叔是黑色的时候,且当前的结点是左子树。右旋:
1)把父结点变成黑色
2)把祖父结点变为红色(爷爷)
3)把祖父结点旋转(爷爷)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值