020-红黑树(一)

1、红黑树是什么?红黑树本质上是一种二叉查找树,但它在二叉查找树的基础上额外添加了一个标记(颜色),同时具有一定的规则。这些规则使红黑树保证了一种平衡,插入、删除、查找的最坏时间复杂度都为 O(logn)

##################################################

 ###################################################################################################

###################################################################################################

 ###########################################################################################

2、红黑树性质:

   (1)每个结点要么是红的要么是黑的。

   (2)根结点是黑的。  

   (3)每个叶结点(叶结点即指树尾端NIL指针或NULL结点)都是黑的。  

   (4)如果一个结点是红的,那么它的两个儿子都是黑的。  从每个根到节点的路径上不会有两个连续的红色节点,但黑色节点是可以连续的。 

   (5)对于任意结点而言,其到叶结点树尾端NIL指针的每条路径都包含相同数目的黑结点。

总结:首先全局地看这棵树是不是只有红黑两种颜色;然后看这棵树的首尾是否全部都是黑色;再看所有的红色节点的左右子节点是否全是黑色;最后看任何节点到叶节点的所有路径是否包含相同数量的黑色节点

3、判断红黑树。概念与性质总是抽象的,那么如何加深印象呢?那就是给出各种树,让你来判断这些树是不是红黑树。不满足红黑树的任意一条规则就可以判断它不是红黑树,而判断是红黑树则需要满足所有红黑树性质才能判断它是红黑树。

 

猜你喜欢

转载自www.cnblogs.com/igoodful/p/9112232.html