数据结构及算法_第九章.pptVIP

  • 9
  • 0
  • 约1.32万字
  • 约 43页
  • 2019-01-20 发布于浙江
  • 举报
数据结构及算法_第九章

② 旋转后的平衡因子 a的右子树没有变,而左子树是b的右子树,则平衡因子是:HaL- HaR=(HbL-1)-(HbL-1)=0 即a是平衡的,以a为根的子树的深度是HbL。 b的左子树没有变化,右子树是以a为根的子树,则平衡因子是: HbL-HbL=0 即b也是平衡的,以b为根的子树的深度是HbL+1,与插入前a的子树的深度相同,则该子树的上层各结点的平衡因子没有变化,即整棵树旋转后是平衡的。 二、 LR型平衡化旋转 ⑴ 失衡原因 在结点a的左孩子的右子树上进行插入,插入使结点a失去平衡。a插入前的平衡因子是1,插入后a的平衡因子是2。设b是a的左孩子,c为b的右孩子, b在插入前的平衡因子只能是0,插入后的平衡因子是-1;c在插入前的平衡因子只能是0,否则,c就是失衡结点。 (2) 平衡化旋转方法 先以b进行一次逆时针旋转(将以b为根的子树旋转为以c为根),再以a进行一次顺时针旋转,如图9-8所示。将整棵子树旋转为以c为根,b是c的左子树,a是c的右子树;c的右子树移到a的左子树位置, c的左子树移到b的右子树位置。 图9-8 LR型平衡化旋转示意图 a b bL aR cL x cR x c a c bL aR cL x cR x b (3) 插入后结点c的平衡因子的变化分析 ①

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档