一、平衡二叉树的删除步骤
- 平衡二叉树的删除操作: 删除结点后,要保持二叉排序树的特性不变(左<中<右);若删除结点导致不平衡,则需要调整平衡
- 平衡二叉树的删除操作具体步骤 :
(1)删除结点(方法同"二叉排序树")
(2)一路向北找到最小不平衡子树,找不到就完结撒花
(3)找最小不平衡子树下,"个头"最高的儿子、孙子
(4)根据孙子的位置,调整平衡(LL/RR/LR/RL)
(5)如果不平衡向上传导,继续(2)
二、AVL树的删除操作案例1(删除叶子节点-没有失衡)
(1)删除叶子节点

(2)向北查找,发现已经平衡,流程结束

三、AVL树的删除操作案例2(删除叶子节点-失衡)
(1)删除叶子节点

(2)删除叶子节点;一路向北找到最小不平衡子树

(3)找最小不平衡子树下,"个头"最高的儿子、孙子

(4)根据孙子的位置,调整平衡

(5)最小不平衡子树恢复平衡

三、AVL树的删除操作案例3(删除叶子节点-不平衡向上传导)
(1)删除叶子节点

(2)删除叶子节点;一路向北找到最小不平衡子树

(3)最小不平衡子树恢复平衡

(4)不平衡向上传导

(5)不平衡向上传导,二次调整


四、总结
