标签: data-structures avl-tree
假设我有一个平衡的AVL树,在ADD之后,它变得不平衡。 AVL树是否总是通过一次或一次双重旋转重新平衡,或者是否需要更多旋转?
答案 0 :(得分:0)
假设在插入之前满足平衡不变量,单个重新平衡将始终足以恢复平衡不变量。
AVL不变量是任何节点都具有最多相差1的子深度。单次插入后,子深度最多可相差2.单次遍历到插入节点的路径,根据需要旋转,能够解决这种不平衡。