01.红黑树-定义与性质

一:定义

红黑树是一种包含红黑两种节点能够自平衡的二叉查找树。
例如:
在这里插入图片描述
其中,红色和黑色 节点是为了实现自平衡所做的一个标识。

二: 红黑树的性质

红黑树总共有5条性质,也是由于这几条性质能够达到自平衡。

  1. 每个节点要么是黑色,要么是红色。(废话)
  2. 根节点是黑色
  3. 每个叶子节点(NIL)是黑色。(废话)
    这里的叶子节点指的是:
    在这里插入图片描述
    不是我们之前意义上的叶子节点, 而是“叶子节点”上的空节点。
  4. 每个红色结点的子结点一定都是黑色。 (从根到任意一个叶子节点的路径上不会存在两个连续的红色节点)
  5. 从任一节点到其每个叶子节点的所有路径都包含相同数目的黑色节点。
    举例1:
    在这里插入图片描述
    A到其节点下的空节点(NIL)都会经过同样数量的黑色节点 3
    B到其节点下的空节点(NIL)都会经过同样数量的黑色节点 2
    C… 2
    D…2
    F…1
    所以这是一颗达到了平衡的红黑树

举例2:
假如新增了一个黑色的G节点
在这里插入图片描述
此时它就不是一颗平衡的红黑树, 因为它违反了第5条性质
A-B-D-G-NIL 经过了4个黑色节点
A-B-E-NIL 经过了3个黑色节点

对于不平衡的红黑树, 需要经过旋转或者变色的操作使其达到平衡的效果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值