数据结构——用C语言描述 -蔡明志 第九章 平衡二叉查找树.pptVIP

数据结构——用C语言描述 -蔡明志 第九章 平衡二叉查找树.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 平衡二叉查找树 平衡二叉查找树 何谓平衡二叉查找树 AVL-tree的插入与删除 何谓平衡二叉查找树 平衡二叉查找树又称为AVL-tree,是对二叉查找树的改进;是对左、右子树之间的高度有所限制,其查找效率比二叉查找树效率高。 AVL-tree定义: 一棵空树(empty tree)是平衡二叉查找树。 一棵不是空的二叉查找树称为平衡二叉查找树的条件: (1)其左子树和右子树都是平衡二叉查找数; (2)其左子树和右子树差的绝对值不大于1。 AVL-tree的插入 平衡二叉查找树可能会因插入或删除某节点而形成不平衡,此时必须看不平衡状态属于哪一种,然后再加以调整,以符合平衡二查找树的条件。 不平衡的状态可以分为LL、RR、LR和RL四种类型。 四种不平衡状态的判断: 根据插入节点A与它最接近平衡因子绝对值大于1(|BF|1)的节 点B的位置来判断, - 若A在B的左边的左边,则为LL型; - 若A在B的右边的右边,则为RR型; - 若A在B的左边的右边,则为LR型; - 若A在B的右边的左边,则为RL型。 四种不平衡状态的分析—LL型 LL型 例:在一棵AVL-tree(如图9-7所示)中插入20,步骤如下: (1)插入20,将不是一棵AVL-tree。(节点50的BF=2即BF1, 且20位于50 的左边的左边,属于LL型.如图9-8所示) (2)承(1)上进行调整节点50、40、30三个即可,如图9-9 所示。 (3)操作结束。 四种不平衡状态的分析—RR型 RR型 例:在一棵AVL-tree(如图9-13所示)中插入30 ,步骤和LL相 似,故不再赘述。 四种不平衡状态的分析—LR型 LR型 例:在一棵AVL-tree(如图9-19所示)中插入42 ,步骤和LL相 似,故不再赘述。 四种不平衡状态的分析—RL型 RL型 例:在一棵AVL-tree(如图9-25所示)中插入52 ,步骤和LL相 似,故不再赘述。 AVL-tree的删除 AVL-tree的删除与二叉查找树的删除相同,当删除操作完成后,再计算平衡因子,作适当调整,直到平衡因子的绝对值都小于等于1。 假设存在如图9-43所示的一棵AVL-tree。 - 要直接删除叶结点50,如图9-44所示。 - 从树根查找pivot点(遇到第一个BF值的绝对值大于1的节点) 为30,当pivot节点的BF值大于等于0时往左子树、小于0往右 子树找下一个节点,由于节点30的BF值大于2大于等于0,所以 往pivot节点的左子树找到节点20,其BF值大于等于0,找到此 可知调整形态为LL型,不需再往下查找。调整结果如图9-45所 示。 AVL-tree的删除 —示意图 9.* ? 2006 * 21世纪高等院校规划教材 返回总目录 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 在一棵AVL-tree里,每一节点的平衡因子为-1或零 或1,即|BF(p)|≤1。 图9-7 AVL-tree图 图9-8 插入20后的AVL-tree图 图9-9 调整后的AVL-tree图 图9-13 RR型的AVL-tree示意图 图9-14 插入80后的AVL-tree示意图 图9-15 调整后的AVL-tree示意图 图9-19 AVL-tree示意图 图9-20 插入42后的AVL-tree示意图 图9-21 调整后的AVL-tree示意图 图9-25 AVL-tree示意图 图9-26 插入52后的AVL-tree示意图 图9-27 调整后的AVL-tree示意图 图9-43 AVL-tree示意图 图9-45 调整后的AVL-tree示意图 图9-44 删除50后的AVL-tree示意图

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档