例题一
若给如图所示的平衡二叉树插入 67 这个点
只能是如下所示
步骤
此时树不平衡需要做的事如下
- 从插入的节点 A 开始向上找最小不平衡子树 T
- 从节点 A 出发到根节点的路径上找和 T 的根节点相邻的最近的三个节点(包括根节点)
- 找到的这三个节点按照顺序为调整后平衡子树的随上层的三个点
- 其他点按照二叉排序树的规律填充
步骤演示如下
如图所示
-
最小不平衡子树 T 为框起来的这一部分
-
T 的根节点为 70 这个点,距离 T 的根节点最近的三个点依次是 67 68 70
-
这三个点按照二叉排序树排列
-
子树 T 上的其他点也按照规律填充(无其他点)
-
新子树 T 代替旧子树插入成功
例题二
我要插入 90 这个节点
过程如图示所示
例题三
插入 63 这个节点
最小不平衡子树
子树 T 的根节点相邻的三个最近节点
最终结果