- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章主要内容 本章主要学习静态查找和动态查找方法。静态查找包括顺序查找、二分查找和分块索引查找等,动态查找包括二叉排序树、B树等。作为重点内容本章还介绍了哈希查找及相关知识。 查找是数据结构中的重要操作,好的查找方法会大大提高执行效率。通过本章学习,应掌握以下内容: ??????? 查找的有关概念; ??????? 静态查找; ??????? 动态查找; 哈希查找。 8.3.3平衡二叉树(AVL树) 平衡二叉树(Balanced Binary Tree)指的是形态匀称的二叉树,其定义是一个递归过程: 它或是一棵空树,或者是具有下列性质的二叉排序树:它的左子树和右子树都是平衡二叉树,且左子树和右子树高度之差的绝对值不超过1。 1 49 85 60 77 54 -2 2 0 0 54 85 49 60 77 0 1 0 0 0 对于非平衡二叉排序树,希望通过适当调整,使其成为平衡二叉树,设A结点为失去平衡的最小子树根结点,对该子树进行平衡化调整归纳起来有以下四种情况: 1.LL型平衡旋转 当在A的左子树上插入结点,使A的平衡因子由1增至2而失去平衡,因此需要进行一次顺时针旋转操作。如图8-9(a)所示。 A B 1 插入前,平衡 A B 2 C 插入结点,失去平衡 A B 0 C 顺时针旋转后,平衡 2.RR型平衡旋转 由于在A的右子树上插入结点,使A的平衡因子由-1增至-2而失去平衡,因此需要进行一次逆时针旋转操作。如图所示。 A B -1 插入前 平衡 A B -2 C 插入结点 失去平衡 C B 0 A 逆时针旋转后 平衡 3.LR型平衡旋转 由于在A的左子树的右子树上插入结点,使A的平衡因子由1增至2而失去平衡,因此需要进行两次旋转(先逆时针旋转,再顺时针旋转)操作。如图8-9(c)所示。 A B 1 插入前 平衡 A C 0 B 顺时针旋转 使其平衡 A B 2 C 插入结点 失去平衡 A C 2 以C为轴 逆时针旋转 B 4.RL型平衡旋转 由于在A的右子树的左子树上插入结点,使A的平衡因子由-1增至-2而失去平衡,因此需要进行两次旋转(先顺时针旋转,再逆时针旋转)操作。如图8-9(d)所示。 -1 插入前 平衡 A B A B -2 C B C 0 A 插入结点 失去平衡 逆时针旋转 使平衡 A C -2 以C为轴 顺时针旋转 B 【例8-4】设有数据序列{63,90,70,55,67,42,98},试用这组数建立平衡二叉排序树,如图8-10所示。 63 63 90 63 90 70 70 90 63 70 90 63 55 70 90 63 55 67 70 90 63 55 67 42 (e) (f) (g) 失去平衡 (h) 调整平衡 (i) 结束 67 90 63 55 70 42 67 90 63 55 70 42 98 平衡二叉树的查找分析: 在查找过程中将给定值进行比较的关键字个数不超过树的深度。因此,在平衡树上进行查找的时间复杂度为O(log2n)。(等概率的提前下进行的) 8.3.4 B树 如果查找需要在外存储器上进行,需要使用外部查找方法。 1.B树的定义 一棵m阶的B树,或者为空树,或为满足下列特性的m叉树: ⑴ 树中每个结点至多有m棵子树; ⑵ 除非根结点为叶子结点,否则至少有两棵子树; ⑶ 除根结点之外的所有非终端结点至少有?m/2? 棵子树; ⑷ 所有的非终端结点中包含以下信息数据: (n,A0,K1,A1,K2,…,Kn,An) ?其中:Ki(i=1,2,…,n)为关键字,且KiKi+1,Ai为指向子树根结点的指针(i=0,1,…,n),且指针Ai-1所指子树中所有结点的关键字均小于Ki (i=1,2,…,n),An所指子树中所有结点的关键字均大于Kn, ?m/2? ?1≤n≤m ?1 ,n为关键字的个数。 ⑸所有的叶子结点都出现在同一层次上,并且不带信息。 1 L 2 D G 3 O S W 3 ∧ A ∧ B ∧ C ∧ 2 ∧ E ∧ F ∧ 2 ∧ H ∧ K ∧ 2 ∧ M ∧ N ∧ 3 ∧ P ∧ Q ∧ R ∧ 3 ∧ T ∧ U ∧ V ∧ 3 ∧ X ∧ Y ∧ Z ∧ 图8-11 一棵5阶的B-树 2.B树基本操作 B树的基本操作也是查找、插入和删除等操作。现以B树查找为例做简单介绍。B树的查找类似二叉排序树的查
您可能关注的文档
最近下载
- 建筑工程图集 11SG814:建筑基坑支护结构构造.pdf VIP
- 电商平台客户投诉处理协调配合措施.docx VIP
- 快速心律失常的急诊处理PPT课件.ppt VIP
- 标准图集-新型城镇化-智能灯杆.pdf VIP
- 11SG814 建筑基坑支护结构图集.docx VIP
- 2024年11月江苏苏州市中医医院(西苑医院苏州医院)招聘编外人员笔试笔试历年专业考点(难、易错点)附带答案详解 .doc
- 广西壮族自治区家庭经济困难学生认定申请表.doc VIP
- 大闽食品(漳州)有限公司企业标准.doc VIP
- 施工企业安全生产事故报告及处理制度.docx VIP
- 电商平台纠纷处理与客服投诉管理方案.docx VIP
文档评论(0)