一、调整最小不平衡子树
简化方法:(超简单)
1)找到违反平衡条件的最小子树的根节点
2)找到一条最长路径
3)调整该路径上根节点出发的三个节点
4)剩余节点根据BST(二叉排序树)性质(左子树节点值<根节点值<右子树节点值)摆放
举例如下所示:
箭头所指为插入的数据,插入后判断是否导致不平衡,从下往上找
二、平衡二叉树的构造
需要一边插入,一边调整平衡二叉树。
三、平衡二叉树的删除
同样需要调整平衡二叉树,与前面的类似,具体如下图所示。
简化方法:(超简单)
1)找到违反平衡条件的最小子树的根节点
2)找到一条最长路径
3)调整该路径上根节点出发的三个节点
4)剩余节点根据BST(二叉排序树)性质(左子树节点值<根节点值<右子树节点值)摆放
举例如下所示:
箭头所指为插入的数据,插入后判断是否导致不平衡,从下往上找
需要一边插入,一边调整平衡二叉树。
同样需要调整平衡二叉树,与前面的类似,具体如下图所示。