为什么要用红黑树?
平衡二叉树,它的时间复杂度是O(logN),虽然平衡二叉树的效率高,但是它特别损耗计算机的性能,于是就产生了红黑树,它是兼顾计算机的性能并且时间复杂度趋近于O(logn)
红黑树是内存最优二叉树
红黑树特点:
1.从一个节点到该节点的所有子孙节点的所有路径上包含相同数目的黑色节点
2.红黑树每个节点不是红色就是黑色
3.根节点是黑色节点
4.如果一个节点是红色的那么他的子节点都是黑色的
5.每个叶子节点都是黑色的节点
结论:没有一条路径的长度超过其他路径长度的2倍
当红黑树不平衡时我们需要旋转或变色来是红黑树平衡。