平衡二叉树

由一个例子引入:

平均查找长度(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平衡二叉树相关推荐

  1. (十一:2020.08.28)CVPR 2017 追踪之论文纲要(译)

    CVPR 2017 追踪之论文纲要(修正于2020.08.28) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...

  2. (十四:2020.08.28)CVPR 2014 追踪之论文纲要(译)

    CVPR 2020 追踪之论文纲要(修正于2020.08.28) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...

  3. IDEA 2020/7/28更新特性速览 - 对于各框架的支持,版本控制工具,docker,构建工具等的支持

    文章目录 IDEA 2020/7/28更新特性速览 - 对于各框架的支持,版本控制工具,docker,构建工具等的支持 1.对java 的更新 支持java15 支持错误跟踪 能够创建多个结构搜索和替 ...

  4. 英语积累知识(一) 2020/1/28 公众号推文翻译

    2020/1/28 公众号推文翻译 翻译 This Spring Festival is doomed to be a peculiar one. Without the noise of forme ...

  5. (十三:2020.08.28)CVPR 2015 追踪之论文纲要(译)

    CVPR 2020 追踪之论文纲要(修正于2020.08.27) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...

  6. (2020.9.28)面试记录:软件测试实习生--面试记录

    公历2020年9月28日 星期一 晴 前一天收到了电话,前三天才做了笔试,属实有点快,投简历在半个月之内 随着10:30的到来,心情越发紧张,这次面试没做很多的准备,只是面试前几个小时,把测试的基础看 ...

  7. 搜索引擎最新算法大全|更新到2020.2.28日(百度算法大全、360算法大全)

    内容来源整理于各大搜索引擎公告以及互联网相关资讯. 更新时间目前为止应该是最新最全版本,此文章会陆续更新下去. 目前只找到百度和360有相关算法说明发布,搜狗和神马还没有官方公告如果后续发布将会持续补 ...

  8. [云炬学英语]每日一句2020.8.28

    IELTS vocabulary DAY3-2020.8.28 The two world wars,whith interrupted the supply of raw material from ...

  9. 玩客云刷armbian安装php环境_【2020.1.28】玩客云刷Armbian的那些坑

    本帖最后由 三叶猫 于 2020-2-16 20:09 编辑 之前编辑帖子,Aria2和Aria-Ng目录混乱,重新编辑了一下. 开刷注意 天气太冷了,推荐用安卓JuiceSSH,应用商店可以下载,躺 ...

  10. (十五:2020.08.28)CVPR 2013 追踪之论文纲要(译)

    讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自己对这200篇的论文做一个大致从名称上的筛选,希望能找到些能解决当前问题的答案. 论文 ...

最新文章

  1. 反汇编算法介绍和应用——线性扫描算法分析
  2. eclipse快捷键操作
  3. java运行在用户态_理解Linux用户态和内核态
  4. 再谈工作的主动性和有效提问
  5. quartz 分布式_后端必备分布式技术之-调度系统Quartz设计原理
  6. stl_config.h基本宏
  7. java反编译工具_漫话:如何给女朋友解释什么是编译与反编译
  8. Gluster的搭建和使用
  9. 这篇文章可以满足你80%日常工作!一线互联网公司面经总结
  10. 检测ARM板的RTC
  11. 混乱开发,既伤身体又伤感情
  12. 沈志康奖教金 计算机学院,天大60名青年才俊获首届沈志康奖教金
  13. java中类的接口是什么_Java中的接口知识汇总
  14. Linux使用tcpdump抓获取WIFI包
  15. android sudio jni 调用so_Android NDK-深入理解JNI
  16. BAT程序员必备技能调研,你中了几招?
  17. 工程线性代数 matlab版,工程线性代数(MATLAB版)
  18. c语言写俄罗斯方块(源码)
  19. 讲解如何禁止iOS屏幕自动旋转
  20. 写给产品经理的12封信(第07封:学习能力)

热门文章

  1. Manjaro-KDE安装动态桌面插件
  2. 怎么用微信打开wifi连接到服务器,微信一键连wifi在哪里 微信一键连wifi怎么使用...
  3. js判断background颜色明暗色调,以设置白/黑字体颜色
  4. 实战例子:Solidity代码小失误导致池子里60万U被盗空
  5. 高中数学必修一,集合知识概念运算归纳总结
  6. python绘制饼图explode_python使用Matplotlib绘制饼图
  7. 解决WPS表格图片打印拉伸问题
  8. 微信公众号怎么发红包?
  9. iOS GitHub上常用第三方框架
  10. 上位机开发之三菱Q系列PLC通信实践