平衡二叉树的调整-RR LL RL LR四种调整方式

在树结构中,有一颗平衡的树是可以提高搜索效率的,但是当数据插入进去的时候,使得原来的平衡二叉树变得不平衡,此时需要对于二叉树进行一定的调整

调整方式

1、RR旋转

在这里插入图片描述

麻烦结点处于发现结点 的 右子树 的 右子树;

把 B 直接提上来,连接 A 把 Bl 放在 A 的右子树上(因为需要满足搜索树,Bl 比 A 是大一些的)

举例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、LL旋转(左子树的左子树出现了破坏结点,LL旋转)

在这里插入图片描述

左边红色圈里面的东西进行左旋转,旋转成为了右边的样子,其他的部分保持不变;

在这里插入图片描述

为什么图下面的BR 挂在了 A 的左边呢?
因为是搜索树,必须保证左边小,左边大的原则

3、LR 旋转

在这里插入图片描述

在这里插入图片描述

4、RL 旋转

在这里插入图片描述

小结:

  • 判断上面的是什么旋转?
    看插入的结点和破坏结点之间的位置关系;

  • 有时候的元素插入进去之后,虽然整棵树的结构是不需要动的,但是实际上面的平衡因子是需要进行改变的;

posted @   YIMENG-0  阅读(878)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示