平衡二叉树(AVL)

二叉搜索树(二叉排序树)的缺点

当我们插入的数据为1,2,3,4时,我们选择二叉搜索树来存放数据,那么存放的树的结构将是
二叉搜索树
在这种情况下,如果我们需要找到节点值为4的时候,需要查找四次,即时间耗费为O(N),远低于预期O(logN).
因此在这种时候,我们需要新的数据结构----平衡二叉树

平衡二叉树的概念

它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树.意思是说不管从整颗树来看,它的左右子树的高度差不能超过1,还是从深入到每个最细小的子树,其左右子树的高度也都不能超过1.
平衡二叉树
上面2颗树都是二叉搜索树,但是只有左边的一棵树是平衡二叉树,右边的树从节点7算的话,它的左子树高度为3,右子树高度为1,差值为2,不符合平衡二叉树的要求.

平衡二叉树的插入

假如说现在要插入6到上面图中的左边的平衡树里,插入结果为
插入6之后的树
可以明显的看到,插入6之后,这个树已经不是一个平衡二叉树了.这个时候,我们需要将树做一些旋转,来将树继续变为平衡二叉树.
在插入新节点后,只有那些从插入节点到根节点路径上的节点的平衡可能被改变,因为只有这些节点的子树可能会发生变化.当我们沿着这条路径上行到根并更新平衡信息时,可以发现一个节点,他的节点破坏了AVL条件.后面将重点解释上行时,第一个被破坏的点,以这个点为根基,来进行选择操作.
我们把需要平衡的点叫做α,由于每个节点最多只有2个儿子,因此出现高度不平衡就需要α的左右子树高度差为2,容易看出,出现这种情况的只有下面四种可能
1 对α左子树的左子树进行一次插入
对左子树的左子树进行插入
2 对α的左子树的右子树进行一次插入
对左子树的右子树进行插入
3 对α的右子树的左子树进行一次插入
对右子树的左子树进行插入
4 对α的右子树的右子树进行一次插入
对右子树的右子树进行一次插入
上面四种情况,1和4是镜像对称,2和3是进行对称.
第一种情况是插入发生在外边即(左-左,右-右的情况),该种情况通过对树进行一次单旋转即可实现平衡树
第二种情况是插入发生在内部,该情况通过稍微复杂的双旋转来处理

单旋转之右旋转

演示右旋
上图中,8这个节点是离新插入节点6的一个最近的非平衡节点,就以8为基准点来进行右旋
右旋转示意图
,左图中的尖尖的虚线,表示一种构想出来的壁垒,不允许节点跨越,便于理解怎么旋转变化.
变换后的二叉树明显就是一个平衡二叉树了.这就是单旋转之右旋转

单旋转之左旋转

当上面图中,插入9后,是个平衡树,再接着插入10,变为如下的不平衡树
在这里插入图片描述
这个时候在节点8补平衡了,这个时候需要左旋转
在这里插入图片描述
旋转后,变为右侧的图,实现平衡.这就是单旋转之左旋转.

双旋转之右-左双旋转

双旋转的示意图
如上图所示,在插入节点15之后,在节点7处,出现了不平衡,因此需要旋转.但是这种情况不属于单旋转的情况,符合上面讲的四种情况的第三张情况,即双旋转.
先在α的儿子节点与孙子节点处旋转,再在α与其新儿子节点处旋转,实现双旋转
按照上面说的,先在α的儿子与孙子节点处旋转,示意图如下
第一次旋转之后
这个时候就类似于第二种情况,即右右情况,这个时候再按照左旋转即可实现平衡,示意图如下
在这里插入图片描述
这就是双旋转之右-左双旋转

双旋转之左-右双旋转

如下图所示的一个二叉树
在这里插入图片描述
此时在最后插入9之后,节点10处出现不平衡,那么就以节点10为基准点即α,进行双旋转
1 先在α的儿子(8)与孙子(9)处进行旋转,
在这里插入图片描述
左旋后,如上图右侧所示

2 再在α与其新儿子处进行旋转
在这里插入图片描述
最终实现了平衡,这就是双旋转的左-右双旋转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值