红黑树性质

红黑树(red-black tree)是许多“平衡的”查找树中一种,它能保证在最坏情况下,基本的动态集合操作的时间为O(lgn)。

红黑树是一种二叉查找树,但在每个节点上增加一个存储位表示节点的颜色,可以是red或black,通过对任何一条从根到叶子节点路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而近乎平衡的。

树中每个节点包含五个域:color,key,left,right,p。
如果某节点没有一个子节点或父节点,则该节点相应的指针域p包含值NIL。
将这些NIL视为指向二叉查找树的外结点(叶子)的指针,而把带关键字的结点视为树的内结点。

红黑树性质:
每个节点或者是红色的,或者是黑色的。
根节点是黑色的。
每个叶子节点(NIL)是黑色的。
如果一个节点是红色的,则它的两个儿子都是黑色的。
对每个节点,从该节点到子孙节点的所有路径上包含相同数目的黑节点。

黑高度
从某个节点x出发(不包含该该节点)到达一个叶子节点的任意一条路径上,黑色节点的个数称为该节点x的黑高度,用bh(x)表示。
从该结点出发的所有下降路径都具有相同的黑节点个数。
红黑树黑高度的定义为其根节点的黑高度。

引理:
一颗有n个内结点的红黑树的高度至多为2lg(n+1).

以某一节点x为根的子树中至少包含2^bh(x)-1个内结点.
设h为树的高度,根据性质4 ,从根节点的任一条简单路径上至少有一半的及诶单必是黑色的,根的黑高度至少是h/2;所以,n>=2^h/2-1
因此有:h<=2lg(n+1)

包含n结点的红黑树又是高度为O(lgn)的查找树,简单操作的运行时间为O(lgn)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值