查找-树表的查找-平衡二叉树

本文详细介绍了平衡二叉树(AVL树)的定义,包括平衡因子的概念和其特性。重点讨论了插入操作中的平衡调整策略,以及查找效率分析。
摘要由CSDN通过智能技术生成

平衡二叉树得定义

平衡二叉树(Balanced Binary Tree),简称平衡树(AVL树),平衡二叉树或者空树,或者是具有以下特征得二叉树排序是:

  • 左子树与右子树得深度之差得绝对值不超过1;
  • 左子树和右子树也是平衡二叉树。

平衡因子(BF) = 左子树高度-右子树的高度
平衡因子的值只可能是 -1,0或1。
最小不平衡子树:插入结点最近且平衡因子绝对值超过1的祖先结点

在这里插入图片描述

//平衡二叉树结点
typedef struct AVLNode{
    int key;     //数据域
    int balance; //平衡因子
    struct AVLNode *lchild; 
    struct AVLNode *rchild;
}AVLNode,* AVLTree;


插入操作

插入新的结点
查找路径上所有结点都有可能受到影响
从插入点往回找到第一个不平衡结点,调整以该结点为根的子树(最小不平衡子树)

平衡二叉树的平衡调整方法

LL 在A的左孩子的左子树中插入导致不平衡

RR 在A的右孩子的右子树中插入导致不平衡

LR 在A的左孩子的右子树中插入导致不平衡

RL 在A的右孩子的左子树中插入导致不平衡

查找效率分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老攀呀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值