为什么用红黑树不用二叉树?
红黑树也是一种二叉查找树。当于是平衡二叉树,它是一种经典高效的算法
二叉树的特点是,左节点小于等于根节点,右节点大于等于根节点。比如插入9,8,7这三个值,
随着数据越来越多,左节点就会越来越长,二叉树的查找就会越来越低,等同于遍历,二分查找就失去了意义。
红黑树就避免了这个问题,如果左右节点无值,可以使用null代替,很好的保证了集合的操作的时间为O(lgn)。
红黑树的特质
- 每个结点要么是红的,要么是黑的。
- 根结点是黑的。
- 每个叶结点(叶结点即指树尾端NIL指针或NULL结点)是黑的。
- 如果一个结点是红的,那么它的子节点都是黑的。
- 对于任一结点而言,其到叶结点树尾端NIL指针的每一条路径都包含相同数目的黑结点。