平衡二叉树构建过程之我的理解.pdf

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
平衡二叉树构建过程之我的理解

平衡二叉查找树 构建方法 郭建勇 coolkissmile@ 定义 • 平衡二叉树(全称平衡二叉查找树) – 是一棵二叉树 – 是一颗二叉查找树 (对于任意节点x, 其左子树的所有节点都小于x, x 的右子树的节点都大 于等于x) – 是一颗平衡树, 平衡意思是对于任意节点, 其左子树高度和右子树高度相差不超过1, 左右 子树的高度差称为平衡因子 a, 也即 |a| =1 辨析 • 平衡二叉树 vs 二叉查找树 二叉查找树也称作二叉排序树或者二叉搜索树 平衡二叉树的本质特点是左右子树的平衡, 而二 叉查找树是不要求平衡的 这也是为什么二叉搜索树在某些极端情况下搜索 效率很低的原因: 高度太高, 接近线性效率 平衡二叉树就是为了尽量降低树的高度而提出来 的. 插入 • 平衡二叉树的查找逻辑比较简单, 这里不讲 了 • 构建平衡二叉树时的逻辑需要深刻理解 • 插入节点时如果左右子树平衡就不需要调 整节点 • 如果左右不平衡那么就需要调整节点 • 由于不平衡没有一个统一的调整策略, 需要 分情况看待, 左左, 右右, 左右, 右左. 100 出现不平衡--右右 110 . . . 105 120 ... ... new 右右不平衡: 首先定位最小不平衡二叉树, 以100为根节点的树 如果新插入节点 new 是在100的右孩子(110)的右子树分支(以120为根的子树) 就称为右右不平衡 100 右右 : 调整过程 110 . . . 105 120 ... ... new 思路: 把100的右子树高度降低1,或者把100的左子树高度加1 如果能把110为根的树提高到100的位置, 那么右子树高度就降低了1 100 右右 : 调整过程 110 . . . 120

文档评论(0)

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

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

1亿VIP精品文档

相关文档