有关BST搜索树转换为AVL高度平衡树的旋转问题
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,最近在复习数据结构,看到BST的时候遇到了问题,就是当删除或增加树中节点时,要求保证树的高度平衡行,也就是使BST成为AVL。后来看了很多资料,说LL、RR、LR、RL啥的,没看懂。之后经过和同学研究
千家信息网最后更新 2026年11月02日有关BST搜索树转换为AVL高度平衡树的旋转问题
最近在复习数据结构,看到BST的时候遇到了问题,就是当删除或增加树中节点时,要求保证树的高度平衡行,也就是使BST成为AVL。
后来看了很多资料,说LL、RR、LR、RL啥的,没看懂。之后经过和同学研究发现了一个特性,就是offending node与其回溯路径上的最近的两个点有大小关系。
如上图,一个空BST树,插入16到树中,由于是空树,那么16就作为根节点。之后再输入3。3比16小,放在16的左边作为左子节点,再输入7,7比16小,走左子树一边,然后7再和3相比较,7比3大,走3的右子树。但是如上图所示,这不是一棵AVL树,因为16的左子树高度为2,右子树高度为0,左右高度差的绝对值为2,超过了AVL的条件:左右高度绝对差<2。那么就需要"旋转子树"以保证其AVL特性。
看了很多书,都说什么左旋转啊右旋转啊,像上图这种情况还比较复杂,需要先左旋转后右旋转。
其实,经过这些天的研究发现,以上图为例,当节点7进入树之后,打破了平衡,那么就从节点7开始回溯找到offending node,也就是节点16。然后选择offending node与回溯路径上的距离节点16的最近的两个node,也就是节点3和7。这三个点选取之后,对三个点进行大小比较,找出最小、最大和中间节点,比如16、3、7三个节点的按大小排序后的顺序是3、7、16。然后中间的节点(节点7)作为新树的根,其左节点是最小节点,右节点是最大节点,然后将新树接回原来的树上。
节点
高度
子树
上图
三个
也就是
大小
最大
最小
两个
就是
左旋
特性
路径
保证
研究
输入
问题
复杂
这不
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
瑰夏咖啡
互联网新科技
互联网科技公司起名
互联网科技财经
互联网金融 科技创新
互联网科技网站
狮子座互联网科技培训
汉立互联网科技有限公司联系电话
顶级互联网科技成果有哪些
科技互联网大厂
昊天互联网科技有限公司
智腾互联网科技有限公司
互联网行业科技股
互联网科技公司营业执照怎么办理
滨湖区互联网智能科技产品有哪些
互联网第三次科技革命特征
广州富喜互联网络科技
新氧科技和美国互联网有关系吗
广西泛欧互联网科技有限公司
上海互联网科技园景观
互联网科技公司做什么
隆华科技工业互联网
阿里互联网科技公司
来此购互联网科技有限公司
世界互联网领先科技成果获奖
广州梦谷互联网科技有限公司领导
科技和互联网行业的特点
盐城市攀科互联网科技有限公司
银川新华互联网科技学校招聘
科技美学互联网 艺术