平衡二叉树的调整-RR LL RL LR四种调整方式
在树结构中,有一颗平衡的树是可以提高搜索效率的,但是当数据插入进去的时候,使得原来的平衡二叉树变得不平衡,此时需要对于二叉树进行一定的调整
调整方式
1、RR旋转
麻烦结点处于发现结点 的 右子树 的 右子树;
把 B 直接提上来,连接 A 把 Bl 放在 A 的右子树上(因为需要满足搜索树,Bl 比 A 是大一些的)
举例
2、LL旋转(左子树的左子树出现了破坏结点,LL旋转)
左边红色圈里面的东西进行左旋转,旋转成为了右边的样子,其他的部分保持不变;
为什么图下面的BR 挂在了 A 的左边呢?
因为是搜索树,必须保证左边小,左边大的原则
3、LR 旋转
4、RL 旋转
小结:
-
判断上面的是什么旋转?
看插入的结点和破坏结点之间的位置关系; -
有时候的元素插入进去之后,虽然整棵树的结构是不需要动的,但是实际上面的平衡因子是需要进行改变的;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!