- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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) {//插入新
您可能关注的文档
- 认识学习_高效学习.ppt
- 第六章常用无损检测方法.ppt
- 【人教课标版】八年级下册春酒.ppt
- 比较文学导读.ppt
- SAS编程的语法知识.ppt
- 北大哲学-老子.ppt
- 第02章程序的灵魂—算法.ppt
- 人教版地理选修5《中国的地质灾害》ppt课件.ppt
- 第01章反对外国侵略的斗争.ppt
- 6-19世纪建筑的变迁.ppt
- 2024年学校党总支巡察整改专题民主生活会个人对照检查材料3.docx
- 2025年民主生活会个人对照检查发言材料(四个带头).docx
- 县委常委班子2025年专题生活会带头严守政治纪律和政治规矩,维护党的团结统一等“四个带头方面”对照检查材料四个带头:.docx
- 巡察整改专题民主生活会个人对照检查材料5.docx
- 2024年度围绕带头增强党性、严守纪律、砥砺作风方面等“四个方面”自我对照(问题、措施)7.docx
- 2025年度民主生活会领导班子对照检查材料(“四个带头”).docx
- 国企党委书记2025年度民主生活会个人对照检查材料(五个带头).docx
- 带头严守政治纪律和政治规矩,维护党的团结统一等(四个方面)存在的问题整改发言提纲.docx
- 党委书记党组书记2025年带头增强党性、严守纪律、砥砺作风方面等“四个带头”个人对照检查发言材料.docx
- 2025年巡视巡察专题民主生活会对照检查材料.docx
文档评论(0)