平衡二叉树

定义

  1. 一棵空树或它的左右两个子树的高度差的绝对值不超过1。
  2. 左右两个子树都是一棵平衡二叉树。

实现方式

示例:

如以下平衡二叉树

插入50


插入后开始比较层级,依次查看父节点比较层级

45:左1右2,高度差1,符合
40:左1右3,高度差2,不符合,开始进行调整
从40开始,沿着往上比较的节点,开始往下找三个节点即40,45,50。找到后将这三个节点按照二叉树的方式调整,调整如图

最后接入刚开始调整的节点即可

插入42


插入后开始比较层级,依次查看父节点比较层级

40:左1右2,符合
45:左3右2,符合
35:左2右4,不符合,开始调整
从40开始,沿着往上比较的节点,开始往下找三个节点即35,45,40。找到后将这三个节点按照二叉树的方式调整,调整如图

其余的子节点按照大小归为即可

最后将整个子节点放回

插入52


插入后开始比较层级,依次查看父节点比较层级

50:左1右2,符合
45:左2右3,符合
40:左3右4,符合
25:左3右5,不符合,开始调整
从25开始,沿着往上比较的节点,开始往下找三个节点即25,40,45。找到后将这三个节点按照二叉树的方式调整,调整如图

其余的子节点按照大小归为即可,一级子节点的二级子节点跟着一级子节点走就行了

动画演示网址

其他更多数据结构的动画演示网址

posted @ 2023-02-23 17:08  哇哇咔哇咔咔  阅读(12)  评论(0编辑  收藏  举报