2020-8-28平衡二叉树
平衡二叉树
由一个例子引入:
平均查找长度(ASL)计算方法按照一层一层来计算,对于图(a)来说,第一层比较一次,第二层两个结点比较两次,三层三次,四层三次,五层两次,六层一次。
其余(B)(c)是一样的计算方法。
通过对比平均查找长度的不同,说明不同的排列效率不同,如何做才能使效率提高呢?
引入:
简言之就是左右子树高度绝对值不超过1。
平衡的目的是为了让树的高度低一点,因为越平衡的树高度越低。
问题1
h=0时,结点最少为1
h=1时,结点最少为2
h=2时最少为4.
(自己画图就能得出来结论)
运用了一个斐波那契数列。
因此:给定结点树为n的AVL树的最大高度为O(log2N)。
平衡二叉树的调整
为什么讨论这个题目,因为有些时候对平衡二叉树做一些插入就会让树变的不平衡。
所以要讨论平衡二叉树的调整。
第一种:
在下面的这个例子中,因为nov的插入,使得mar不再满足搜索树的条件,因此要对这个结构进行旋转。
在这个例子中,mar<may<nov,因此可以使mar为左子树,may为根,nov为右子树。
因为nov是破坏原本结构的破坏者,在被破坏者(mar)的右边,所以叫做右单旋。
因而叫做RR插入,需要RR旋转(右单旋)
简单说就是被破坏者在破坏者右边的右边。
【ps:平衡二叉树的大前提是搜索树或者查找树,就是左子树一定要小于右子树,不管怎么调整,这个大前提结论是不能改变的。】
第二种:
因为插入者破坏了两个结点的平衡,因此需要在调整时兼顾两者。
其余解释同上。
第三种:
因为插入者在被破坏者的左子树的右子树上,因此是LR旋转。
第四种:
2020-8-28平衡二叉树相关推荐
- (十一:2020.08.28)CVPR 2017 追踪之论文纲要(译)
CVPR 2017 追踪之论文纲要(修正于2020.08.28) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...
- (十四:2020.08.28)CVPR 2014 追踪之论文纲要(译)
CVPR 2020 追踪之论文纲要(修正于2020.08.28) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...
- IDEA 2020/7/28更新特性速览 - 对于各框架的支持,版本控制工具,docker,构建工具等的支持
文章目录 IDEA 2020/7/28更新特性速览 - 对于各框架的支持,版本控制工具,docker,构建工具等的支持 1.对java 的更新 支持java15 支持错误跟踪 能够创建多个结构搜索和替 ...
- 英语积累知识(一) 2020/1/28 公众号推文翻译
2020/1/28 公众号推文翻译 翻译 This Spring Festival is doomed to be a peculiar one. Without the noise of forme ...
- (十三:2020.08.28)CVPR 2015 追踪之论文纲要(译)
CVPR 2020 追踪之论文纲要(修正于2020.08.27) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...
- (2020.9.28)面试记录:软件测试实习生--面试记录
公历2020年9月28日 星期一 晴 前一天收到了电话,前三天才做了笔试,属实有点快,投简历在半个月之内 随着10:30的到来,心情越发紧张,这次面试没做很多的准备,只是面试前几个小时,把测试的基础看 ...
- 搜索引擎最新算法大全|更新到2020.2.28日(百度算法大全、360算法大全)
内容来源整理于各大搜索引擎公告以及互联网相关资讯. 更新时间目前为止应该是最新最全版本,此文章会陆续更新下去. 目前只找到百度和360有相关算法说明发布,搜狗和神马还没有官方公告如果后续发布将会持续补 ...
- [云炬学英语]每日一句2020.8.28
IELTS vocabulary DAY3-2020.8.28 The two world wars,whith interrupted the supply of raw material from ...
- 玩客云刷armbian安装php环境_【2020.1.28】玩客云刷Armbian的那些坑
本帖最后由 三叶猫 于 2020-2-16 20:09 编辑 之前编辑帖子,Aria2和Aria-Ng目录混乱,重新编辑了一下. 开刷注意 天气太冷了,推荐用安卓JuiceSSH,应用商店可以下载,躺 ...
- (十五:2020.08.28)CVPR 2013 追踪之论文纲要(译)
讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自己对这200篇的论文做一个大致从名称上的筛选,希望能找到些能解决当前问题的答案. 论文 ...
最新文章
- 反汇编算法介绍和应用——线性扫描算法分析
- eclipse快捷键操作
- java运行在用户态_理解Linux用户态和内核态
- 再谈工作的主动性和有效提问
- quartz 分布式_后端必备分布式技术之-调度系统Quartz设计原理
- stl_config.h基本宏
- java反编译工具_漫话:如何给女朋友解释什么是编译与反编译
- Gluster的搭建和使用
- 这篇文章可以满足你80%日常工作!一线互联网公司面经总结
- 检测ARM板的RTC
- 混乱开发,既伤身体又伤感情
- 沈志康奖教金 计算机学院,天大60名青年才俊获首届沈志康奖教金
- java中类的接口是什么_Java中的接口知识汇总
- Linux使用tcpdump抓获取WIFI包
- android sudio jni 调用so_Android NDK-深入理解JNI
- BAT程序员必备技能调研,你中了几招?
- 工程线性代数 matlab版,工程线性代数(MATLAB版)
- c语言写俄罗斯方块(源码)
- 讲解如何禁止iOS屏幕自动旋转
- 写给产品经理的12封信(第07封:学习能力)
热门文章
- Manjaro-KDE安装动态桌面插件
- 怎么用微信打开wifi连接到服务器,微信一键连wifi在哪里 微信一键连wifi怎么使用...
- js判断background颜色明暗色调,以设置白/黑字体颜色
- 实战例子:Solidity代码小失误导致池子里60万U被盗空
- 高中数学必修一,集合知识概念运算归纳总结
- python绘制饼图explode_python使用Matplotlib绘制饼图
- 解决WPS表格图片打印拉伸问题
- 微信公众号怎么发红包?
- iOS GitHub上常用第三方框架
- 上位机开发之三菱Q系列PLC通信实践