当前位置:网站首页>(十四)平衡二叉树
(十四)平衡二叉树
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为根的子树失去平衡,需要进行两次旋转(先右旋后左旋)。
边栏推荐
猜你喜欢
随机推荐
flink on yarn指定第三方jar包
纳米级完全删除MYSQL5.7以及一些吐槽
EPSON RC+ 7.0 使用记录一
二月、三月校招面试复盘总结(一)
phpexcel导出数据为xml
Shell(1)简介入门
CTFshow—Web入门—信息(9-20)
Shell(3)条件控制语句
剑指 Offer 2022/7/1
iptables防火墙
Linux环境下redis的下载、安装和启动(建议收藏)
什么是跨域和同源
完美解决keyby造成的数据倾斜导致吞吐量降低的问题
Kubernetes集群安装
进程、线程、协程的区别和联系?
webrtc中的视频编码(一) 视频编码模块轮廓
智能合约安全——溢出漏洞
实际开发中左菜单自定义图标点击切换
自动化运维工具Ansible(7)roles
npm install dependency error npm ERR! code ENOTFOUNDnpm ERR! syscall getaddrinfonpm ERR! errno ENOTFOUND