平衡二叉树

平衡二叉树定义:任意节点的子树的高度差都小于等于 1

判断「平衡二叉树」

判断「平衡二叉树」的 2 个条件:

1.是二叉排序树

2.任何一个节点的左子树或者右子树都是平衡二叉树(左右高度差小于等于1)

平衡因子 BF

结点的平衡因子(balancd  factor用bf表示) :二叉树中某结点左子树的高度与右子树的高度之差称为该结点的平衡因子.

在算法中,可以通过平衡因子来具体实现平衡二叉树的定义。

从平衡因子的角度可以说,若一棵二叉树中所有结点的平衡因子的绝对值小于或等于1,则该树称为平衡二叉树。

最小不平衡子树

距离插入节点最近的,并且 BF 的绝对值大于 1 的节点为根节点的子树。

旋转纠正只需要纠正最小不平衡子树即可

左旋:旧根节点为新根节点的左子树,新根节点的左子树(如果存在)为旧根节点的右子树右旋:

旧根节点为新根节点的右子树,新根节点的右子树(如果存在)为旧根节点的左子树

LL型:插入左孩子的左子树,右旋

RR型:插入右孩子的右子树,左旋

LR型:插入左孩子的右子树,先左旋,再右旋

RL型:插入有孩子的左子树,先右旋,再左旋

LL 型失衡 --右旋

 RR 型失衡  --左旋

 LR型失衡 --先左旋,再右旋

 RL型失衡    --先右旋再左旋

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值