平衡二叉树 -单旋转
右旋转
当左子树的高度减去右子树的高度的结果大于1时进行右旋转
即针对于左左型(LLR,LLL)
具体步骤
1.创建一个新的结点,结点的值为不平衡结点的值
2.新节点的右孩子为不平衡结点的右孩子结点
3.新节点的左孩子为不平衡结点左孩子结点的右孩子结点
4.不平衡结点的值改为其左孩子结点的值
5.不平衡结点的左孩子修改为其左孩子结点的左孩子结点
6.不平衡结点的右孩子修改为新结点
实现代码
//待实现
左旋转
当右子树的高度减去左子树的高度的结果大于1时进行右旋转
即针对于右右型(RRR,RRL)
具体步骤
1.创建一个新的结点,结点的值为不平衡结点的值
2.新节点的左孩子为不平衡结点的左孩子结点
3.新节点的右孩子为不平衡结点右孩子结点的左孩子结点
4.不平衡结点的值改为其右孩子结点的值
5.不平衡结点的右孩子修改为其右孩子结点的右孩子结点
6.不平衡结点的左孩子修改为新结点
实现代码
//待实现