您的位置:首页 > 其它

算法导论读后感-之红黑树的性质

2017-11-12 14:48 253 查看
红黑树是具有下列性质的二叉搜索树:

1.每个节点或是红色的,或是黑色的。

2.根节点是黑色的。

3.每个叶节点(NIL)是黑色的。注意,这里的叶节点均为外部节点。

4.如果一个节点是红色的,则它的两个子节点都是黑色的。

5.对每个节点,从该节点到其所有后代的简单路径上,均包含相同数目的黑色节点。

从某个节点x出发(不含该节点),到达一个叶节点的任意一条简单路径上黑色节点的个数(包括外部节点NIL),称为该节点的黑高。记做:bh(x).

引理:一棵有n个内部节点的红黑树高度之多为2lg(n+1).

意义:红黑树具有O(lg(n))的算法复杂度。

证明:设x为任意节点,当x为叶节点(NIL)时,x有0个内部节点。

当x为具有左右内部节点的子节点时,将x的高度记做bh(x)。则:

a)若x子节点为红,则子节点的高度也为bh(x);

b)若x子节点为黑,则子节点的高度为bh(x)-1.

根据归纳法,子节点最少具有 2^bh(x-1)-1个内部节点。

因此x具有至少 2*( 2^bh(x-1)-1)+1 = 2^bh(x)-1个内部节点。

即 n>=2^bh(x)-1。 又根据性质4,可得bh(x)>=h/2。

因此,n>=2^(h/2)-1。因此,h<=2lg(n+1)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: