- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二种方法: 令*P的直接前驱替代*P,然后再从二叉排序树中删去它的直接前驱. f→ p→ Cl Pr … q→ ql S→ Sl C→ f→ p→ Cl Pr … q→ ql S→ Sl C→ f→ p→ Cl Pr … q→ ql Sl C→ 3.二叉排序树的查找分析 例: 序列(37,12,24,53,45,93) 长度为6 37 12 53 45 24 93 序列(53,24,12,37,45,93) 长度为6 53 24 93 12 37 45 序列(12,24,37,45,53,93) 长度为6 12 53 24 93 37 45 …… ASL=14/6 ASL=15/6 ASL=21/6 二叉排序树的平均查找长度: 最差的情况: (n+1)/2 最好的情况: 平均的情况: P232 4.平衡二叉树 说明: 用二叉树表示动态查找表; 用二叉链表来实现查找函数SearchDSTable(DT,key); 插入操作InsertDSTable(DT,e); 删除操作DeleteDSTable(DT,key); 平衡二叉树(AVL)或者是一棵空树; 或者是具有下列性质的二叉树: 1、它的左、右子树都是平衡二叉树; 2、左子树和右子树的深度之差的绝对值不超过1; 结点的平衡因子—— 该结点的左子树的深度减去它的右子树的深度。平衡二叉树上的所有结点的平衡因子只可能是-1、0、1。 例: 1 1 0 0 是平衡二叉树 -1 1 0 -1 0 1 0 是平衡二叉树 2 -1 0 1 0 0 不是平衡二叉树 -1 0 0 0 -2 1 0 不是平衡二叉树 如何构造平衡二叉排序树? 例: 关键字序列为{13,24,37,90,53} φ 13 0 13 24 -1 0 13 24 37 -2 -1 0 逆时针旋转 24 13 37 0 0 0 24 13 37 90 -1 0 -1 0 24 13 37 90 53 -2 0 -2 1 0 顺时针旋转 24 13 37 53 90 -2 0 -2 -1 0 逆时针旋转 24 13 53 90 37 -1 0 0 0 0 假设指针a指向离插入结点最近,且平衡因子绝对值大于1的结点,当二叉排序树失去平衡后,进行调整的规律可归纳为下列四种情况: (1)LL型平衡旋转:由于在*a的左子树的左子树上插入结点,使*a的平衡因子由1增至2而失去平衡,需进行一次顺时针旋转操作。 1 A B Bl Br Ar h h h 0 2 A B Bl Br Ar h+1 h h 1 B A Bl Br Ar h+1 h h 0 0 (2)RR型平衡旋转:由于在*a的右子树的右子树上插入结点,使*a的平衡因子由-1减至-2而失去平衡,需进行一次逆时针旋转操作。 -1 A B Bl Br Al h h h 0 -2 A B Bl Br Al h h+1 h -1 B A Bl Br Al h h+1 h 0 0 (3)LR型平衡旋转:由于在*a的左子树的右子树上插入结点,使*a的平衡因子由1增至2而失去平衡,需进行两次旋转操作(先逆时针、后顺时针)。 0 A B Bl Cl Cr h-1 h h 0 C Ar h-1 1 -1 A B Bl Cl Cr h h h 1 C Ar h-1 2 A C Bl Cl Cr h h h 2 B Ar h-1 2 0 -1 0 0 A C Bl Cl Cr h h h B Ar h-1 (4)RL型平衡旋转:由于在*a的右子树的左子树上插入结点,使*a的平衡因子由-1减至-2而失去平衡,需进行两次旋转操作(先顺时针、后逆时针)。 -1 0 0 B C Al Cl Cr h h h A Br h-1 0 A B Br Cl Cr h-1 h h 0 C Al h-1 -1 1 A B Br Cl Cr h h h 1 C Al h-1 -2 -1 A C Br Cl Cr h h h B Al h-1 -2 -1 平衡二叉排序树的插入算法insertAVL(BSTree T,elemtype e): (1)若BBST为空,则插入一个数据元素为e的新结点作为BBST的 根结点,树的深度增1; (2)e的关键字等于BBST的根结点的关键字: (3) e的关键
您可能关注的文档
最近下载
- Office办公软件应用案例教程--电子教案.docx VIP
- 部编版语文六年级上册第一单元教学设计含习作园地一.pdf VIP
- 《闪亮的坐标—劳模王进喜》课件 2024-2025学年高教版(2023)中职语文职业模块_47498966.pptx VIP
- 上海正夕CL2800余氯分析仪使用说明书.pdf VIP
- 牛油果种植管理技术.pdf VIP
- AI驱动光接入网技术白皮书(2025版).docx
- JT∕T 200-2020 汽车客运站级别划分和建设要求(可复制版).pdf
- 完整版铁路工程实施性施工组织设计方案22.docx
- 飞行_载重平衡管理手册.pdf
- 第4章 PyTorch深度学习框架.pptx VIP
文档评论(0)