平衡二叉树学习笔记------一二熊猫

平衡二叉树的知识记录。
1.平衡因子。一个二叉树的平衡因子是指左右子树的高度差。HL为左边二叉树的高度,HR为右边二叉树的高度,平衡因子即为HL-HR,注意平衡因子不取绝对值。
2.平衡二叉树。平衡二叉树是指一棵树里面任意结点的左右子树高度差的绝对值不超过1的树,即平衡因子绝对值不超过一的树。

四种平衡变换:
当一棵平衡二叉树中插入一个新节点后变得不平衡了,新插入的节点为破坏节点A,它把某个节点破坏了平衡,则那个被破坏的节点叫做被破坏节点B 。看是什么旋转从被破坏节点B出发,向破坏节点A查看路径走向。
进行变换是为了恢复平衡性,使得因为新加入节点后不平衡的搜索二叉树变得平衡。

统一的策略都是对破坏节点、被破坏节点、它们之间的节点计算平衡因子(自己数即可),让平衡因子数在中间的节点做为父节点,最小的作为左孩子,最大的作为右孩子。

RR变换如下
当破坏节点A和被破坏节点B的所处关系为:破坏节点A为被破坏节点B的右孩子的右孩子时,即需要RR变换(其中的RR值得是破坏节点A和被破坏节点B的关系)。
向下查看,如下图中在BR节点出添加新节点,不论是BR的左孩子还是右孩子,都被认为是RR旋转,因为B是A的右孩子,BR是B的右孩子,在BR下进行的插入,可以把BR归结为破坏节点。
当出现下面的节点不平衡且它的父节点也不平衡时,我们调节最下面的不平衡节点,因为子树平衡了,上面的节点就都平衡了。
在这里插入图片描述

LL变换如下
在这里插入图片描述

LR变换如下
新插入的是Jan,造成May节点不平衡,RL调整主要是将破坏节点到被破坏节点以及它们中间的连接节点,进行平衡重构,如下图的红圈内。之后他们的孩子也发生相应的变化,原来结构从左到右的孩子节点按顺序添加为新结构的左右节点,这样是为了满足左边小右边大的这样搜索树的条件。

在这里插入图片描述

RL变换如下
新加入的节点为Feb,破坏了Aug的平衡状态。
在这里插入图片描述

仅做自我学习记录。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值