平衡二叉树的单旋转与双旋转

本文详细介绍了平衡二叉树在插入新数据后失衡的情况,特别是针对失衡节点高度最小的节点k进行的单旋转和双旋转操作。分析了新数据插入后四种可能的情景,重点探讨了k1为根节点和k2为根节点时的旋转处理,以及新插入节点位于k2的特殊情况,确保通过旋转操作恢复二叉树的平衡状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平衡二叉树的单旋转与双旋转

平衡二叉树的插入后失衡情景

对一个平衡二叉树插入新数据导致二叉树失衡时,可以找到所有失衡节点中高度最小的节点,令该节点为k,我们可以发现,新插入的数据与k节点的关系不外乎如下四种情况:

  1. 新数据插入了k的左儿子的左子树
  2. 新数据插入了k的左儿子的右子树
  3. 新数据插入了k的右儿子的左子树
  4. 新数据插入了k的右儿子的右子树

其中1‾\underline 114‾\underline 44是关于k节点的镜像对称,它们都位于树的“外边”(左-左;右-右)

另外2‾\underline 223‾\underline 33是关于k节点的镜像对称,它们都位于树的“内部”(左-右;右-左)

图1是四种插入情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值