二叉查找树与红黑树概念性质及操作时间复杂度

操作名(h树高)

二叉查找数

红黑树

查找

O(h)

O(lgn)

查最大/小元素

O(h)

O(lgn)

前驱/后继

O(h)

O(lgn)

插入

O(h)

O(lgn)

删除

O(h)

O(lgn)

旋转

O(1)

高度

 下取整(lgn)+1<=h<=n

 <=2lg(n+1)

PS:黑高度定义:从某个结点x出发(不包括该节点)到达一个叶子结点的任意一条路径上,黑结点的个数成为该节点x的黑高度.用bh(x)表示.

 

红黑树满足的性质:

(1)    每个结点是红的或黑的

(2)    根结点是黑的

(3)    每个叶结点是(NIL)黑的

(4)    如果一个结点是红的,则它的两个孩子结点都是黑的

(5)    对于每个结点,从该节点到其子孙结点的所有路径上包含相同数目的黑结点.

 

结论:

(1).红黑树根的黑高度至少为h/2

(2).一棵n个内结点的红黑树的高度至多为2lg(n+1)

数据结构的扩张:

记住一个数lgn,几乎所有的操作都是O(lgn).

OS_SELECT,  OS_RANK,  INTERVAL_SEARCH,  INTERVAL_INSERT,   INTERVAL_DELETE都是O(lgn).

    原文作者:二叉查找树
    原文地址: https://blog.csdn.net/demon24/article/details/8469683
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞