红黑树的介绍
红黑树,一种二叉查找树,但在每一个节点上增加一个存储表示节点颜色,可是Red或Black
通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有他路径长处两倍,因而是接近平衡的。
红黑树,作为一颗二叉查找树,满足二叉查找树的一般性质。下面,来了解下二叉查找树的性质
。
二叉查找树
也叫作有序二叉树,或已排序二叉树,是指一颗空树或者具有下列性质的二叉树。
- 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;
- 若任意节点的左子树不空,则右子树上所有结点的值均大于它的根节点的值;
- 任意节点的。右字数也分别为二叉查找树
- 没有键值相等的节点
红黑树虽然本质上是一颗二叉查找树,单它在二叉查找树的基础上增加了着色以及其他性质使得红黑树相对平衡,从而保证了红黑的查找、插入、删除的时间复杂度最坏为O(log n) 因为一颗由n个节点随机构造的二叉查找树的高度为lgn,所以二叉树的一般执行时间为O(lgn)。
而红黑树的5种性质是什么呢
- 没个结点要么是红要么是黑
- 根结点是黑的
- 每个叶结点(指的是树尾Null结点)都是黑的
- 如果一个结点是红的,那么它的两个儿子都是黑的。
- 对于任意结点而言其,其到叶结点树尾端的每条路径都包含相同数目的黑结点