1. 若是插入一个node引发了树的不平衡,AVL和RB-Tree都是最多只须要2次旋转操做,即二者都是O(1);可是在删除node引发树的不平衡时,最坏状况下,AVL须要维护从被删node到root这条路径上全部node的平衡性,所以须要旋转的量级O(logN),而RB-Tree最多只需3次旋转,只须要O(1)的复杂度。node
2. 其次,AVL的结构相较RB-Tree来讲更为平衡,在插入和删除node更容易引发Tree的unbalance,所以在大量数据须要插入或者删除时,AVL须要rebalance的频率会更高。所以,RB-Tree在须要大量插入和删除node的场景下,效率更高。天然,因为AVL高度平衡,所以AVL的search效率更高。性能
红黑树的查询性能略微逊色于AVL树,由于他比avl树会稍微不平衡最多一层,也就是说红黑树的查询性能只比相同内容的avl树最多多一次比较,可是,红黑树在插入和删除上完爆avl树,avl树每次插入删除会进行大量的平衡度计算,而红黑树为了维持红黑性质所作的红黑变换和旋转的开销,相较于avl树为了维持平衡的开销要小得多
效率