AVL树其实就是加入了平衡因子(balance factor) 即它的左子树高度减去右子树高度或者右减左
balance
factor={-1,0,1}
有时平衡数超过1时
就用四种旋转操作进行平衡(左旋
右旋 左右旋 右左旋)
平衡因子的由来就是因为它的查询的时间复杂度是等于树的深度的
AVL是一个自平衡的二叉搜索树 不足:节点需要储存额外的信息 且调整次数频繁
红黑树是一种近似平衡的二叉搜索树 它能确保任何一个节点的左右子树的高度差小于两倍 满足红黑树的条件:
根节点与每个叶节点(NIL节点,空姐点)是黑色的
不能有相邻的两个红色节点
从任意节点到其每个叶子的所有路径都包含相同数目的黑色节点