红黑树 学习笔记1 - 基本性质

本系列为算法导论 第13章 红黑树 学习笔记

RB_Tree是一颗BST,满足:
1. 结点颜色为红或黑。
2. 根结点为黑色。
3. 每个叶结 (NIL) 点是黑色。
4. 不存在2个连续的红色结点
5. 对于任一结点,从该结点到其所有后代叶结点的简单路径上,均包含相同数目的黑色结点。

先做一些人为的约定:
树根的高度为1;
叶结点指的是 NIL N I L ,内部结点指的是红黑树中出现的结点;
黑高 bh(x) b h ( x ) 不包含 x x 点,但是包含 NIL

为方便起见,我们把所有 NIL N I L 都用一个哨兵结点来代替,如图:
这里写图片描述

定义:
黑高: 从某个结点 x x 出发(不含该结点),到达一个叶结点的任一一条简单路径上的黑色结点个数称为该结点的黑高,记为 bh(x)
红黑树的黑高:其根结点的黑高。

引理 13.1
一颗有n个内部结点的红黑树的高度至多为 2log(n+1) 2 l o g ( n + 1 )
proof:
先证明一个结论:以任一结点x为根的子树中至少包含 2bh(x)1 2 b h ( x ) − 1 个内部结点。
归纳法易证。
另一方面,设 h h 为树的高度,则根的黑高 bh(root)[h12]+1h2 ,得证。

课后习题:时间比较紧,最后2题没怎么做,到时候再说
13. 1-1
黑高为2:2,4层为红。
黑高为3:某层为红。
黑高为4:无红结点。

13. 1-2
均不是红黑树

13. 1-3


13. 1-4


13. 1-5
易知 1+[lmax12]bh(x)lmin 1 + [ l m a x − 1 2 ] ≤ b h ( x ) ≤ l m i n

13. 1-6
在一颗高为 h h 的红黑树中,
内部结点最多有多少个? 2k1 2 k − 1
最少可能有多少个?
我写了个递推 xn+1=xn+xn+12+1 x n + 1 = x n + x ⌈ n + 1 2 ⌉ + 1
不保证正确,答案也懒得找了,目测这个解起来颇有难度。

13. 1-7 —过两天再看


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值