红黑树是二叉查找树的一种。
性质:
1)每个节点是红的或黑的
2)根节点是黑的
3)叶节点都是黑的(空节点)
4)若一个节点是红的,则子节点都是黑的
5)每个节点到其子孙的所有路径上包含相同数目的黑色节点。
算法导论提出使用哨兵元素代替空节点。
因为采用了这种方法,造成生成了很多无用的空的叶子节点,为了节省空间,方法是:采用所有叶子节点和根节点的父节点(也为空)指向一个哨兵元素。
高度:从某个节点到达叶节点上黑节点的数目。(这是由红黑树的性质决定的)
优点:红黑树对插入时间、删除时间和查找时间提供了最好可能的最坏情况担保。
关键性质: 从根到叶子的最长的可能路径不多于最短的可能路径的两倍长。