平衡二叉树是指任意节点的左子树和右子树高度之差的绝对值不超过1
一.插入操作
1.找到合适位置插入
2.从下到上,沿着插入节点与根节点的连线,找到不平衡的二叉树
以68为根节点的二叉树平衡,左右子树高度差为1
以60为根节点的二叉树不平衡,左右子树高度差为2,不平衡
3.使不平衡的二叉树平衡,最后插入到原来的二叉树中
再来一个例子
同理,从下到上找根节点,判断是否为平衡二叉树
经观察可以发现,整棵树才是非平衡二叉树,所以从根节点,沿着路径画三个节点,将这三个节点调整为平衡二叉树
调整完毕后剩下的节点按照平衡二叉树的规则填补进去即可
二.删除操作
要求:二叉树的高度不增加
1.直接删除叶子节点
2.被删除的节点无左子树,就让右子树的根节点代替
3.被删除节点无右子树,就让左子树的根节点代替
4.左右都有孩子
那么就找左子树中最大的数(63)替换,或者找右子树中最小的数(67)进行替换
下面是替换了63的例子