【数据结构】中平衡搜索树的旋转方式解析

数据结构中有一种平衡搜索树,在平衡树中,为了保证任意节点的平衡因子的绝对值不超过2,成为平衡树,就需要对树进行降高度的操作

在降高度的操作中,有几种旋转方式,左单旋,右单旋,左右单旋以及右左单旋。

接下来,我们就来分析一下这几种旋转:

左单旋:

在左单旋中:旋转的时候,使subRL作为parent的右节点,而parent自己作为subR的左节点,让subR作为父节点。

右单旋:

在右单旋中:旋转的时候,使subLR作为parent的左节点,而parent自己作为subL的右节点,让subL作为父节点。

左右单旋:


在左右单旋中:

        首先,是左单旋:让节点b作为subL的右节点,而subL作为subLR的左节点,然后subLR自己作为parent的 左节点;

        然后,是右单旋:让parent作为subLR的右节点,subLR自己作为父节点。

右左单旋:



在右左单旋中:

       首先,是右单旋:让b节点作为subR的左节点,subR作为subRL的右节点,然后subRL自己作为parent的右节点;

       然后,是左单旋:让parent作为subRL的左节点,subRL自己作为父节点。

要注意的是,在旋转的时候,平衡因子也一定要更新,而平衡因子的修改与插入节点的位置有很大的关系!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值