【红黑树】学个数据结构

之前用multiset并不知道它的实现方式…今天来学红黑树QAQ
【明天要考C,我怎么不去看看基本语言…】

红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。
红黑树是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的“红黑树”。
红黑树是一种特化的AVL树(平衡二叉树),都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。
它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。

来源百度百科

红黑树之歌

有一说一,当我打开mooc,点开红黑树的视频,第一眼看到这个红黑树之歌…我再也不觉得这个课严肃了23333

基本性质:

理想效率
查找,插入,删除都是O(logn) [树高接近logn情况下]
如果输入序列单调增或单调减,会退化成线性(O(n))

平衡的扩充二叉搜索树

着色:
每个点为红色或黑色
根,扩充的外部叶节点为黑色
一个红色节点的子节点一定是黑色
不允许两个连续的 红色节点
任何节点到其子孙外部节点的简单路径上都含相同数目的黑色节点

红黑树的阶
又称黑色高度
从该节点到外部节点的黑色节点数量(不包括该节点本身,包括叶节点)
外部节点的阶是0
根的阶成为该树的阶

树高
k k k阶红黑树最矮为 k + 1 k+1 k+1,最高为 2 ∗ k + 1 2*k+1 2k+1
n n n个节点,树高最高为 2 l o g 2 ( n + 1 ) − 1 2log_2(n+1)-1 2log2(n+1)1

节点数
阶为k,内部节点最少为一棵满二叉树,节点数为 2 k − 1 2^k-1 2k1

(bb一句,mooc五分钟,我要看半小时呜呜呜

就到这里吧,维护考完试再学

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值