平衡二叉树(AVL树)的插入
关键: 每次调整的对象都是最小不平衡子树,所谓的最小不平衡子树就是以插入路径上离插入结点最近的平衡因子的绝对值大于1的结点作为根的子树。
如下图中的虚线框内为最小不平衡子树:
失去平衡后进行调整的规律可分为4种情况:LL平衡旋转(右单旋转)、LR平衡旋转(先左后右双旋转)、RL平衡旋转(先右后左双旋转)、RR平衡旋转(左单旋转)。其调整情况如下:
总结: 重点是记住调整的4中情况和找出最小不平衡子树。
举个栗子: 对于元素序列{3,2,1,4,5,6,7,16,15,14,13,12,11,10,8,9},画出依序插入平衡二叉树后,平衡二叉树的结果。
(下面的图中有个小错误,插入13后导致树不平衡,其类型应为RR型)