数据结构——平衡二叉数旋转
1.左旋
1.旋转非根节点
确定支点:从添加的节点开始,不断地往父节点找不平衡的节点
旋转步骤:
1.以不平衡的点作为支点
2.把支点左旋降级,变成左子节点
3.晋升原来的右子节点
2.旋转根节点
确定支点:从添加的节点开始,不断地往父节点找不平衡的节点
旋转步骤:
1.以不平衡的节点为支点
2.将根节点的右侧往左拉
3.原先的右子节点变成新的父节点,并把多余的左子节点让出,给已经降级的根节点的右子节点
2.右旋
1.旋转非根节点
确定支点:从添加的节点开始,不断地往父节点找不平衡的节点
旋转步骤:
1.以不平衡的点作为支点
2.把支点右旋降级,变成右子节点
3.晋升原来的左子节点
2.旋转根节点
确定支点:从添加的节点开始,不断地往父节点找不平衡的节点
旋转步骤:
1.以不平衡的点作为支点
2.将根节点的的左侧往右拉
3.原先的左子节点变成新的父节点,并把多余的右子节点出让,给已降级的根节点当左子节点
3.旋转方式判断
左左:当在根节点的左子树的左子树上插入新节点
同理可知左右、右右、右左
左左——右旋
左右——根结点左节点为支点左旋,以根结点为支点右旋
右右——左旋
右左——根结点右节点为支点右旋,以根结点为支点左旋
原文地址:https://blog.csdn.net/l_tian_tian_/article/details/142440717
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!