红黑树

一、定义 
这里写图片描述
红黑树的五个性质: 
一般的,红黑树(一棵自平衡的排序二叉树),满足以下性质,即只有满足以下性质的树,我们才称之为红黑树: 
1)每个结点要么是红的,要么是黑的。 
2)根结点是黑的。 
3)每个叶结点,即空结点(NIL)是黑的。 
4)如果一个结点是红的,那么它的俩个儿子都是黑的。 
5)对每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点。

抓住了红黑树的那5个性质,分开记忆。 
如, 
1.红黑红黑,要么是红,要么是黑; 
2.根结点是黑; 
3.每个叶结点是黑; 
4.一个红结点,它的俩个儿子必然都是黑的; 
5.每一条路径上,黑结点的数目等同。 
五条性质,合起来,来句顺口溜就是:(1)红黑 (2)黑 (3)黑 (4&5)红->黑 黑 
二、运用场景 
java中的TreeSet,TreeMap,广泛用在C++的STL中。如map和set都是用红黑树实现的。

转载自:https://blog.csdn.net/zuochao_2013/article/details/80562092

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值