学习数据与算法结构第五天
(一)平衡二叉树
1.平衡二叉树的定义
1.空树
2.非空树
树的任一节点的左右子树的深度相差不超过1。
定义节点的平衡度为其右子树的深度减去其左子树的深度,则对于平衡查找树,它的每个节点的平衡度只能为-1,0,1;
平衡树调整:
LL型平衡旋转(单向向右旋平衡处理)
RR型平衡旋转(单向向左旋平衡处理)
LR型平衡旋转(双向旋转,先左后右)
如果将新节点插入节点A的左子树的右侧,则执行LR旋转。在LR旋转中,节点C(如图所示)成为树的根节点,而节点B和A分别成为其左右子节点。T1和T2分别成为节点B的左右子树,而T3和T4成为节点A的左右子树。
RL型平衡旋转(双向旋转,先右后左)
与LR型相似