红黑树是每个节点都带有颜色属性的BST(Binary Search Tree)二叉查找树,颜色或红色或黑色
【1】性质1. 节点是红色或黑色。
【2】性质2. 根节点是黑色。
【3】性质3 每个叶节点是黑色的。
【4】性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
【5】性质5. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
AVL树是Adelson-Velsky-Landis最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1
红黑树和AVL树都是最常用的平衡二叉搜索树,它们的查找、删除、修改都是O(lgn) 以2为底
为什么不用AVL树而用红黑树?
AVL查找效率高,红黑树的插入效率更高
AVL树比红黑树旋转次数多
红黑树相比于AVL树,牺牲了部分平衡性,以换取删除/插入操作时少量的旋转次数,整体来说,性能优于AVL树。