408考研逐题详解:2010年第4题——平衡二叉树

2010年第4题

在右图所示的平衡二叉树中,插入关键字 48 后得到一棵新平衡二叉树。在新平衡二叉树中,关键字 37 所在结点的左、右子结点中保存的关键字分别是( )

在这里插入图片描述

A. 13,48 \qquad B. 24,48 \qquad C. 24,53 \qquad D. 24,90

解析

本题主要考查平衡二叉树的插入和调平衡操作。

  1. 平衡二叉树(AVL 树)的定义和性质:

    • 平衡二叉树或者是空树,或者是具有如下特征的二叉排序树:① 左子树和右子树的深度之差的绝对值不超过 1;② 左子树和右子树也是平衡二叉树(因由前苏联数学家 Adelson-Velskii 和 Landis 提出,所以又称 AVL 树)。
    • 二叉树上结点的平衡因子(Balance Factor,BF):该结点左子树和右子树的深度之差。
    • 平衡二叉树上所有结点的平衡因子只可能是 -1、0 和 1。
  2. AVL 树的平衡调整:

    • 基本方法:找到离插入结点最近且平衡因子绝对值超过 1 的祖先结点,以该结点为根的子树称为最小不平衡子树,可将重新平衡的范围局限于这个子树。

    • 根据基本方法,演化出以下类型:

      • 右旋(RR 旋转):用于左子树过高(平衡因子 > 1)且左子树的左子树过高的情况(LL 型)。
      • 左旋(LL 旋转):用于右子树过高(平衡因子 < -1)且右子树的右子树过高的情况(RR 型)。
      • 左右旋(LR 旋转):先左旋后右旋,用于左子树过高且左子树的右子树过高的情况(LR 型)。
      • 右左旋(RL 旋转):先右旋后左旋,用于右子树过高且右子树的左子树过高的情况(RL 型)。

按照题目要求,将关键字 48 插入到题目中图示的平衡二叉树中:

  • 48 > 24,则插入到右子树;
  • 48 < 53,则插入到 53 的左子树;
  • 48 > 37,则插入到 37 的右子树。

最终得到如下图所示结果,并且在图示中标明此时每个结点的平衡因子。

在这里插入图片描述

从上图可知,结点 24 的平衡因子是 -2 ,是距离插入结点 48 最近的祖先结点,因此,以 24 到 为根的树构成了一棵最小不平衡子树,调平衡的范围就限制在此子树范围。

观察后可知,由于插入 48 后导致不平衡,故可将 37 上升为根结点,而后得到如下图所示调平衡后的一棵平衡二叉树。

在这里插入图片描述

由上图结果可知,37 的左右子结点分别是 24、53

本题答案:C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CS创新实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值