红黑树的学习

一直对红黑数认识不清晰。花点时间好好学习一下。记录之。

 

红黑树是一种二叉查找树,但在每个节点上增加一个存储位表示节点的颜色,可以是红的,也可以是黑的。红黑树是接近平衡的。它保证在最坏情况下,基本的动态集合操作时间为O(lg n).

 

一颗二叉查找树如果满足以下的红黑性质,就是一颗红黑树:

1.每个节点是红的或者黑的;

2.根节点是黑的;

3.每个叶节点是黑的;

4.如果一个节点是红的,那他的两个儿子都是黑的;

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

 

黑高度:从某个节点x出发(不包括该节点)到达一个叶节点的任意一条路径上,黑色节点的个数称为该节点x的黑高度,表示为bh(x)。

红黑树的高度定义为其根节点的黑高度。

 待续。。。

posted @ 2015-08-14 21:40  王彬彬  阅读(200)  评论(0编辑  收藏  举报

专注于c++后端开发,擅长IM领域。 如有需求请联系邮箱 cugbinbin@163.com

欢迎点击个人自定义博客