红黑树(RB-tree)比AVL树的优势在哪?_红黑树的优点_mmshixing的博客-优快云博客
红黑树是基于二叉树的平衡二叉树,普通的二叉查找树(子节点左小右大)由于没有限制,会导致在插入顺序数据时,出现一边倒的情况,导致查询效率降低,而红黑树有自己的一套规则,必须要满足5个条件,有了这些条件的限制,才使得红黑树更加的均衡,更加的平衡,提升查询效率。一般最差的时间复杂度为O(logn),一般在修改节点后需要使用变色或旋转(左旋、右旋)的方式来满足自身的5个条件
红黑树特性
- 每个节点要么是红色,要么是黑色;
- 根节点永远是黑色的;
- 所有的叶节点都是是黑色的(注意这里说叶子节点其实是上图中的 NIL 节点,java中的空节点 null);
- 每个红色节点的两个子节点一定都是黑色;
- 从任一节点到其子树中每个叶子节点的路径都包含相同数量的黑色节点
红黑树的基本增删查操作,包括求最大最小值,其时间复杂度最坏为O(lgn)