一种自平衡二叉查找树, 通过对任何一条从根到叶子的路径上各个节点着色的方式的限制,红黑树确保从根到叶子节点的最长路径不会是最短路径的两倍,用非严格的平衡来换取增删节点时候旋转次数的降低,任何不平衡都会在三次旋转之内解决
使用场景:
红黑树多用于搜索、插入、删除操作多的情况下:
红黑树应用比较广泛:
原因:
红黑树的查询性能略微逊色于 AVL 树,因为比 AVL 树会稍微不平衡最多一层,也就是说红黑树的查询性能只比相同内容的 AVL 树最多多一次比较,但是,红黑树在插入和删除上完爆 AVL 树,AVL 树每次插入删除会进行大量的平衡度计算,而红黑树为了维持红黑性质所做的红黑变换和旋转的开销,相较于 AVL 树为了维持平衡的开销要小得多
性质:
参考资料: