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

麻烦结点处于发现结点 的 右子树 的 右子树;
把 B 直接提上来,连接 A 把 Bl 放在 A 的右子树上(因为需要满足搜索树,Bl 比 A 是大一些的)
举例



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

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

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


4、RL 旋转

小结:
-
判断上面的是什么旋转?
看插入的结点和破坏结点之间的位置关系; -
有时候的元素插入进去之后,虽然整棵树的结构是不需要动的,但是实际上面的平衡因子是需要进行改变的;
本文探讨了平衡二叉树在数据插入后如何通过旋转调整来维持平衡,包括RR、LL、LR和RL四种旋转方式,以确保搜索效率。插入可能导致平衡因子变化,即使树的结构未变。理解旋转策略的关键在于插入节点与破坏节点的位置关系。

3251

被折叠的 条评论
为什么被折叠?



