网站大量收购闲置独家精品文档,联系QQ:2885784924

《数据结构A》第07章.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南京邮电大学计算机学院 陈慧南 2006年9月 插入25:从根到25的路径上,所有结点的平衡因子均为0。插入新元素25后,这棵树仍然是二叉平衡树,但整棵树高度加1。 插入35:从根到35的路径上,36的平衡因子不为0,新元素35被插在36的较矮的子树上。插入后,该树仍然是二叉平衡树。 南京邮电大学计算机学院 陈慧南 2006年9月 插入14:从根到14的路径上,12的平衡因子不为0,新元素14被插在12的较高的子树上,即14被插在12的右子树的左子树上,插入后,该树不再是二叉平衡树。 插入44:从根到44的路径上,43和56的平衡因子都不为0,其中56是离44最近的,平衡因子值不为零的结点。新元素44被插在56的较高的那棵子树上,即44被插在56的左子树的左子树上。插入后,该树不再是二叉平衡树。 南京邮电大学计算机学院 陈慧南 2006年9月 假定新结点*q插在结点*s的左子树上的情况 (1)新结点*q已按二叉搜索树方式插入树中; (2)结点*s是新结点*q的具有非零平衡因子值(插入前的值)的最近的祖先; (3)结点*q插在结点*s的左子树上; (4)从结点*s到新结点*q的路径上所有结点(不含*s)的平衡因子值均已作修正。 南京邮电大学计算机学院 陈慧南 2006年9月 情况一 若插入前,从根结点到新结点q的插入位置的路径上,所有结点的平衡因子值均为0,插入q后,只需将根结点的平衡因子改为1,并且AVL树的高度加1,插入操作完成。 南京邮电大学计算机学院 陈慧南 2006年9月 情况二 若新结点q插在结点s较矮的子树上(s的平衡因子bF为-1,并假定q插在s的左子树上),则插入后只需令s的平衡因子bF为0,插入算法终止。 南京邮电大学计算机学院 陈慧南 2006年9月 情况三: 插在较高的子树上(s-bF=+1) LL-旋转(r-bF=+1) 南京邮电大学计算机学院 陈慧南 2006年9月 LR-旋转(r-bF=-1) 南京邮电大学计算机学院 陈慧南 2006年9月 switch(u-bF){ case 1:s-bF=-1;r-bF=0;break; case 0:s-bF=r-bF=0;break; case -1:s-bF=0;r-bF=1; } 南京邮电大学计算机学院 陈慧南 2006年9月 template class T void AVLTreeT::LRotation(AVLNodeT* s, bool unBalanced) { // 左旋转函数 AVLNodeT*u,*r=s-lChild; if (r-bF==1){ // LL 旋转 s-lChild=r-rChild; r-rChild=s; s-bF=0; s=r; } 南京邮电大学计算机学院 陈慧南 2006年9月 else { // LR旋转 u=r-rChild;r-rChild=u-lChild; u-lChild=r;s-lChild=u-rChild; u-rChild=s; switch(u-bF){ case 1:s-bF=-1;r-bF=0;break; case 0:s-bF=r-bF=0;break; case -1:s-bF=0;r-bF=1; } s=u; //s指示新子树的根 } s-bF=0; //结点s的平衡因子为0 unBalanced=false; //结束重新平衡操作 } 南京邮电大学计算机学院 陈慧南 2006年9月 7.2.4 二叉平衡树的插入 南京邮电大学计算机学院 陈慧南 2006年9月 二叉平衡树的插入 template class T ResultCode AVLTreeT::Insert( AVLNodeT* p,T x,bool unBalanced) { ResultCode result=Success; if (p==NULL) {//插入新

文档评论(0)

xiaohuer + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档