一、有序二叉树可能存在的问题
给一个数列{1,2,3,4,5,6},要求创建一颗二叉排序树(BST)并分析问题所在
二、平衡二叉树的基本介绍
平衡二叉树具有以下特点:
1)它是一颗空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两颗子树都是一颗平衡二叉树。
2)平衡因子: 左子树的高度 - 右子树的高度。
我们将平衡因子的绝对值小于1的的有序二叉树称为平衡二叉树。
三、构建平衡二叉树的思路
平衡的调整步骤
四、种旋转类型的旋转
①:LL型旋转-----(中为支,高右转)
1.将A的左孩子B提升为新的根节点
2.将原来的根节点A降为B的右孩子
3.将各子树按大小关系连接
举例:
②:RR型旋转-----(中为支,高左旋)
1.将A的右孩子B升为新的根节点
2.将原来的根节点降为左孩子
3.将各子树按大小关系连接
举例:
③:LR型旋转-----(下二整体先旋转,后与LL同)
1.将B的左孩子C提升为新的根节点
2.将原来的跟节点A降为C的右孩子
3.将各子树按大小关系连接
举例:
④:RL型旋转-----(下二整体先右转,后与RR同)
1.将B的左子树C提升为新的根节点
2.将原来的根节点A降为C的左孩子
3.将各子树按大小关系连接
举例: