红黑树的时间复杂度为logN,怎么计算?

首先计算,节点数为N的红黑树,高度最高为2log(N+1),然后证明逆否命题:高度为h的红黑树,节点数至少有2^h/2 - 1,。

然后我们知道红黑树特性四:在任意一条路径上,黑色节点的数量是都相等,成为黑高,设置bhx,然后红黑树特性五,

表明红色节点的子节点只能是黑色节点,继而证明了bhx>= h/2

继而就要证明高度为h的红黑树,节点数至少有2^bhx - 1.

利用数学归纳法证明:

当h为0时,节点数至少有0个,成立

当h- 1时,节点数至少有2^bhx - 1 - 1个成立

当h时,根节点有两个高为h - 1的子树,两个子树的节点数加上根节点就是高为h的节点数

2(2^bhx - 1 - 1) + 1 = 2^bhx - 1,从而证明高为h的红黑树,至少有2^bhx - 1个节点,从而证明了红黑树的时间复杂度为logN。

posted @   牵魂  阅读(234)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示