1 / 5
文档名称:

AVL树非递归算法.docx

格式:docx   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

AVL树非递归算法.docx

上传人:df158687 2015/5/13 文件大小:0 KB

下载得到文件列表

AVL树非递归算法.docx

相关文档

文档介绍

文档介绍:AVL树非递归算法
AVL树是一种平衡的二叉搜索树,平衡因子是衡量树平衡程度的一个参数。当结点的平衡因子(本文中结点平衡因子=左子树高度-右子树高度)绝对值大于1时,我们说这个结点是不平衡的,因此需要进行旋转使之重新平衡。
结点不平衡通常是由于对AVL树进行插入或者删除结点时造成的。下面我们分别对插入和删除时的旋转和平衡因子的更新进行讨论。
一、插入
对一棵AVL树插入一个结点时,需要从根结点开始,通过比较插入结点和AVL树结点的值,确定插入的位置。这个操作和BST树的插入操作相同。如图,向一棵AVL树插入一个值为8的结点(红色连线为比较路径)。
1100
5
200
1100
1100
5
200
1100
8
1
0
1
0
1
0
0
0
0
插入前插入后
上图中插入后AVL树种各结点平衡因子的绝对值不大于1,所以不需要进行旋转,下面我们这种讨论插入的四种旋转方式和平衡因子更新。
AVL非递归插入算法描述:
1、第一步,按平衡二叉树规则插入一个结点,在插入的同时找最后一个有可能不平衡的结点。
1、左旋转
1100
h
200
h00
h
0
0
-1
0
0
1100
h
200
h+1100
h
-1
0
-2
0
0
此结点不平衡
200
0
h
0
1100
0
h
0
h+1100
0
左旋转,重新平衡
插入后,旋转前:
旋转后:
插入前:
插入一个值大于20的结点
旋转前后平衡因子变化情况:11(-2->0),20(-1->0)。
2、右旋转
8
0
h
0
1100
1
h
0
h00
0
此结点不平衡
插入前:
8
1
h
0
1100
2
h
0
h+100
0
8
0
h
0
1100
0
h
0
h+100
0
插入后,旋转前:
旋转后:
左旋转,重新平衡
插入一个值小于8的结点
旋转前后平衡因子变化情况:11(2->0),8(1->0)
3、先左后右
根据平衡因子更新情况的不同,我们把先左后右的旋转分成两类。
情况一:
此结点不平衡
插入前:
插入后,旋转前:
左旋转:
7
0
h
0
1100
1
9
0
h
0
h-1
0
h-1
0
7
-1

最近更新

一线员工绩效考核实施方案 5页

【毕业论文选题】120个最新经济法论文题目 6页

【中小企业薪酬管理问题及优化分析案例—以S公.. 4页

二零二五年度林业碳交易项目林地转让合同 9页

《市场调研与预测》 5页

《企业战略环境分析及战略建议—以拼多多为例.. 28页

《2025年基于STM32单片机的高精度超声波测距系.. 6页

[大学工商管理毕业论文参考]工商管理毕业论文.. 6页

NL公司薪酬体系再设计 开题报告书 图文 5页

二零二五年度房地产信托基金房屋产权份额转让.. 8页

二零二五年度工业产品可靠性检验检测合作协议.. 9页

2025年足球论文开题报告 4页

二零二五年度夫妻财产共享与约束协议 7页

2025年大学生实习扬帆计划例文(六) 6页

二零二五年度土方资源评估与中介服务合同 10页

2025师范类学校研究开题报告范文 4页

2025-2025学年统编版高中语文选择性必修下册第.. 8页

(论文)浅析企业人力资源管理危机及应对措施 6页

二零二五年度农村土地租赁合同(含农业设施租.. 9页

二零二五年度仓储装卸安全服务合同 10页

二零二五年度个人出租房屋合同(环保材料装修.. 9页

2025年度高空作业吊装安全协议:包工头与工人.. 8页

2025年度集装箱车辆运输挂靠业务合同 10页

2025年度重点工程现场安全保卫服务合同 8页

2025年度老旧房屋产权置换补偿协议 8页

2025年度绿色环保产品销售承包合同书 9页

第4章消费者-生产者与市场效率 39页

2025年度石料矿山环境治理与修复合作协议 9页

2025年度甲供材料协议合同:航空航天设备专用.. 10页

2025年度环保型油漆加工项目与供应链管理合作.. 9页