红黑树的基本原理

红黑树是一种自平衡二叉查找树,遵循特定的平衡条件。本文介绍了红黑树插入节点时的调整策略,包括情况一和情况二的处理方式,以及删除节点时如何处理会导致失衡的情况,如删除度为1的黑色节点和度为0的黑色节点,详细阐述了不同情况下的调整操作。
摘要由CSDN通过智能技术生成

红黑树

红黑树的平衡条件

  1. 每个节点非红即黑
  2. 根节点是黑色的
  3. 叶节点(NIL)是黑色—指的是不被画出来的那个虚拟空节点
  4. 如果一个节点是红色,则它的两个子节点都是黑色的
  5. 从根节点出发到所有叶节点路径上,黑色节点数量相同

红黑树中,最长路径和最短路径长度的关系?

根据平衡条件第4、5两点能够确定:

最短路径,都是黑色

最长路径,红黑相间

最长是最短的两倍

平衡调整小技巧

插入调整站在祖父节点看

删除调整站在父节点看

调整原则

调整之前路径上黑色节点数量要等于调整后黑色节点的数量


红黑树的插入调整

新插入的节点是什么颜色的?

红色:因为插入黑色一定引发失衡,插入红色不一定引发失衡(如果插入节点的父节点是红色就会引发失衡)

情况一

该节点与父节点与叔叔节点都是红色

将父节点与叔叔节点改成黑色,将祖父节点改成红色

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值