当前位置:网站首页>(十四)平衡二叉树
(十四)平衡二叉树
2022-08-04 05:28:00 【顺毛黑起】
基本介绍
- 平衡二叉树也叫平衡二叉搜索树(Self-balancing binary search tree)又被称为 AVL 树, 可以保证查询效率较高。
- 具有以下特点:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过 1,并且左右两个子树都是一棵平衡二叉树。
一般情况下,假设由于在二叉排序树上插入结点而失去平衡的最小子树根节点的指针为a(即a是离插入结点最近,且平衡因子绝对值超过1的祖先结点),则失去平衡后进行调整的规律4种
(1)单向右旋平衡处理:由于在a的左子树根结点的左子树上插入结点,a的平衡因子由1增至2,使得以a为根的子树失去平衡,需要进行一次向右的顺时针旋转。
(2)单向左旋平衡处理:由于在a的右子树根结点的右子树上插入结点,a的平衡因子由-1变为-2,使得以a为根的子树失去平衡,需要进行一次向左的逆时针旋转。
(3)双向旋转(先左后右)平衡处理:由于在a的左子树根结点的右子树上插入结点,a的平衡因子由1增至2,使得以a为根的子树失去平衡,需要进行两次旋转(先左旋后右旋)。
(4)双向旋转(先右后左)平衡处理:由于在a的右子树根结点的左子树上插入结点,a的平衡因子由-1变为-2,使得以a为根的子树失去平衡,需要进行两次旋转(先右旋后左旋)。
边栏推荐
猜你喜欢
随机推荐
原型对象及原型链的理解
详解“Node实现数据加密”过程
手把手教你实现buffer(二)——内存管理及移动语义
编程Go:return、break、continue
[原创]STL容器map和unordered_map性能,创建,插入,随机访问速度对比!
剑指 Offer 2022/7/8
ISCC-2022
使用express-jwt第三方包报错TypeError: expressJWT is not a function
Kubernetes基本入门-名称空间资源(三)
【树 图 科 技 头 条】2022年6月27日 星期一 今年ETH2.0无望
flink sql left join数据倾斜问题解决
剑指 Offer 2022/7/5
基于C语言的学生信息管理系统_(更新版)_(附源码和安装包)_课程设计_**往事随風**的博客
flink on yarn指定第三方jar包
ORACLE LINUX 6.5 安装重启后Kernel panic - not syncing : Fatal exception
Shell(3)条件控制语句
NFT市场以及如何打造一个NFT市场
Programming hodgepodge (3)
ReentrantLock(公平锁、非公平锁)可重入锁原理
flink-sql所有表连接器









