当前位置:网站首页>平衡二叉树
平衡二叉树
2022-07-16 12:00:00 【萱萱不会秃头】
前言
已经知道数组查询所用到的时间复杂度为O(logn),如何可以降低时间复杂度呢?
要想使用二分法查找,数据就必须是有序的数组 ,而把有序的数组排好序时间复杂度最小的也是快速排序的时间复杂度O(nlogn),这样使时间复杂度没有降下来,反而更大了。
哈希表 是n%arr.length 来确定数据所在数组中的位置

如此通过下标来寻找数据,便可以使复杂度变为O(1)级别
但是如果出现了多个不同的值来计算得到位置相同的值
可以考虑创建二维数组,但是这样下去会造成空间的浪费,并且数组最大的特点就是要在创建数组之前确定好数组的大小。

这部分数据,用链表的形式连接,可以减少空间的浪费
但是当链表的数据过长时,在查询上复杂度就会变大O(n)
此时可以考虑把链表变成一颗树 --------->有序二叉树/排序二叉树
这个二叉树可以对此进行折半查找,比如要找2,2比10明显小,直接不看右边,去左边查找,2又比5小,在去左边查找,此时的时间复杂度为O(logn);

而对于下边右边的二叉树已经是一个链表O(n),左边的二叉树也不能做到折半查找(O(logn)-O(N)),由此可见二叉树的不稳定性(为何会不稳定?-------因为没有受到任何限制,以至于在某种特殊的情况下会变成链表)
如何稳定,就要使用到平衡二叉树!!!
平衡二叉树
平衡二叉树是在有序二叉树的基础之上而来的,它规定着一个节点的左右子树高度差的绝对值不能超过1;如果超过了就要使用到LL LR RL RR 型旋转的类型来保证平衡二叉树的平衡
LL型旋转

例如:
RR型旋转

例如:
LR型旋转

例如:
RL型旋转

例如

边栏推荐
- Error in v-on handler: “ReferenceError: Toast is not defined“
- STC8H开发(十四): I2C驱动RX8025T高精度实时时钟芯片
- 爱立信以侵权为由要求禁售,苹果回返美国反诉,这一幕如此熟悉
- 户外LED显示屏应对炎热高温天气有妙招
- Njupt "Xin'an numeral base" Chapter 11 introduction to problem solving
- NFT商城/NFT盲盒/虚拟盲盒/NFT交易/可定制二开
- npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
- 自建个性化自动报价系统,应对多变报价模式
- HCIA-R&S自用笔记(10)VRP基础、命令、远程管理
- An excellent graphical tool for information collection maltego
猜你喜欢

错误:The source of the existing CacheManager is: URLConfigurationSource

自建个性化自动报价系统,应对多变报价模式

From physics to AI and war database, the career choice of post-95 programmers

糖尿病遗传风险检测挑战赛-Coggle 30 Days of ML
Qt | 控件之QCheckBox
![[Huawei online battle] download and run Huawei's official unity example code, prompting authentication failure and returning error code 100114](/img/62/9918f8b916baf987f6a3f92da4eecc.png)
[Huawei online battle] download and run Huawei's official unity example code, prompting authentication failure and returning error code 100114

从物理转 AI 、战数据库,95后程序员的职业选择

图片验证,滑块验证解决

MYSQL的主主/主从复制/xtrabackup/binlog恢复数据库以及使用ansible的常见模块

五 其它目标和通用选项的介绍
随机推荐
Shengxin weekly issue 36
哪些快速提供开发效率的vite插件推荐
V831——条形码识别
PCB芯片散热焊盘如何设计?
“四朵云”的较量
一周精彩内容分享(第12期)重复
STC8H開發(十四): I2C驅動RX8025T高精度實時時鐘芯片
Interviewer: why does redis need sentinels? How should I answer?
生信周刊第36期
[paid promotion] collection of common problems, basic promotion operation FAQ 2
[论文阅读] Multi-task Attention-Based Semi-supervised Learning for Medical Image Segmentation
SAP Fiori Launchpad 上看不到任何 tile 应该怎么办?
因果学习将开启下一代AI浪潮?九章云极DataCanvas正式发布YLearn因果学习开源项目
二 配置目标make menuconfig的执行过程分析
uniapp video 视频未播放完成禁止拖拽进度条快进
pytest+allure定制报告
美称未对俄农产品“设障” 俄议员批美国是危机“始作俑者”
Njupt "Xin'an numeral base" Chapter 11 introduction to problem solving
IPFs record
An excellent graphical tool for information collection maltego