红黑树的学习
一直对红黑数认识不清晰。花点时间好好学习一下。记录之。
红黑树是一种二叉查找树,但在每个节点上增加一个存储位表示节点的颜色,可以是红的,也可以是黑的。红黑树是接近平衡的。它保证在最坏情况下,基本的动态集合操作时间为O(lg n).
一颗二叉查找树如果满足以下的红黑性质,就是一颗红黑树:
1.每个节点是红的或者黑的;
2.根节点是黑的;
3.每个叶节点是黑的;
4.如果一个节点是红的,那他的两个儿子都是黑的;
5.对于每个节点,从该节点到其子孙节点的所有路径上包含相同数目的黑节点。
黑高度:从某个节点x出发(不包括该节点)到达一个叶节点的任意一条路径上,黑色节点的个数称为该节点x的黑高度,表示为bh(x)。
红黑树的高度定义为其根节点的黑高度。
待续。。。