添加
可能会导致所有祖先结点都失衡
只要让高度最低的失衡结点恢复平衡,整棵树就恢复平衡了(仅需要 O(1) 次调整)
删除
只可能会导致父节点或祖先结点失衡(只会导致一个结点失衡),其他节点都不可能失衡
让父节点恢复平衡后,可能会导致更高层次的祖先结点失衡(最多需要O(logn)次调整)
平均时间复杂度
搜索:O(logn)
添加:O(logn),仅需要O(1)次的旋转操作
删除:O(logn),最多需要O(logn)次的旋转操作
添加
可能会导致所有祖先结点都失衡
只要让高度最低的失衡结点恢复平衡,整棵树就恢复平衡了(仅需要 O(1) 次调整)
删除
只可能会导致父节点或祖先结点失衡(只会导致一个结点失衡),其他节点都不可能失衡
让父节点恢复平衡后,可能会导致更高层次的祖先结点失衡(最多需要O(logn)次调整)
平均时间复杂度
搜索:O(logn)
添加:O(logn),仅需要O(1)次的旋转操作
删除:O(logn),最多需要O(logn)次的旋转操作