什么叫理想平衡二叉树 平衡二叉树是不是必须左小右大

appeal2022-11-21 08:02:071844

平衡二叉树怎么理解啊?平衡二叉树定义,什么是“理想平衡二叉树?平衡二叉树是什么?能通俗地说一下并举例子吗?什么叫做平衡二叉树?平衡二叉树是什么?

本文导航

二叉树深度是怎么算的

这要涉及到满二叉树与完全二叉树的问题

满二叉树是将一个n层二叉树完全排满的二叉树,第n层有2^n个元素;

n层完全二叉树是将n层满二叉树最后一层从后向前依次去处少于2^n个元素;

完全二叉树是平衡二叉树的一个特例,平衡二叉树是将完全二叉树的最后一层元素任意排在空位上的一种二叉树。

如下图所示,左为满二叉树,右为完全二叉树:

平衡二叉树的调整方法

所谓平衡二叉树是指树中任一结点的左、右子树高度大致相同。平衡二叉树有很多种最著名的是由前苏联数学家Adelse—Velskil和Landis在1962年提出的,称为AVL树。平衡二叉树(AVL树)定义如下:平衡二叉树或者是一棵空树,或者是具有以下性质的二叉排序树:(1)它的左子树和右子树的高度之差绝对值不超过1;(2)它的左子树和右子树都是平衡二叉树。

平衡二叉树构建图解

理想二叉树是一种特殊的满二叉树,其所有叶结点均在同一高度或者同一深度,也即一棵深度(高度)为h且有 2^h-1个结点的二叉树。

如何构造平衡二叉树

简单说就是平衡二叉排序树,也就是首先是二叉排序树,然后还是平衡的。可以这样理解

它要么是一 棵空树,要么是它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树

平衡二叉树构造方法

这要涉及到满二叉树与完全二叉树的问题

满二叉树是将一个n层二叉树完全排满的二叉树,第n层有2^n个元素;

n层完全二叉树是将n层满二叉树最后一层从后向前依次去处少于2^n个元素;

完全二叉树是平衡二叉树的一个特例,平衡二叉树是将完全二叉树的最后一层元素任意排在空位上的一种二叉树。

如下图所示,左为满二叉树,右为完全二叉树:

平衡二叉树是不是必须左小右大

平衡二叉树(AVL)

那对图 1 进行下改造,把数据重新节点重新连接下,图 2 如下:

图 2 可以看到以下特性:

1. 所有左子树的节点都小于其对应的父节点(4,5,6)<(7);(4)<(5);(8)< (9);

2. 所有右子树上的节点都大于其对应的父节点(8,9,10)>(7);(6)>(5);(10)>(9);

3. 每个节点的平衡因子差值绝对值 <=1;

4. 每个节点都符合以上三个特征。

满足这样条件的树叫平衡二叉树(AVL)树。

问:那再次查找节点 5,需要遍历多少次呢?

由于数据是按照顺序组织的,那查找起来非常快,从上往下找:7-5,只需要在左子树上查找,也就是遍历 2 次就找到了 5。假设要找到叶子节点 10,只需要在右子树上查找,那也最多需要 3 次,7-9-10。也就说 AVL 树在查找方面性能很好,最坏的情况是找到一个节点需要消耗的次数也就是树的层数, 复杂度为 O(logN)

如果节点非常多呢?假设现在有 31 个节点,用 AVL 树表示如图 3:

图 3 是一棵高度为 4 的 AVL 树,有 5 层共 31 个节点,橙色是 ROOT 节点,蓝色是叶子节点。对 AVL 树的查找来看起来已经很完美了,能不能再优化下?比如,能否把这个节点里存放的 KEY 增加?能否减少树的总层数?那减少纵深只能从横向来想办法,这时候可以考虑用多叉树。

扫描二维码推送至手机访问。

版权声明:本文由尚恩教育网发布,如需转载请注明出处。

本文链接:https://www.shane-english.com.cn/view/68102.html

标签: 学习
分享给朋友:

“什么叫理想平衡二叉树 平衡二叉树是不是必须左小右大” 的相关文章

2019数二靠什么 2019年全国2卷理科数学

2019数二靠什么 2019年全国2卷理科数学

2019硕士研究生考试数二国家线多少?全国计算机二级都考什么内容?2019数学全国二卷高考理科填空顺序,是横还是竖。本文导航2019年研究生国家线多少计算机二级证都考什么内容2019年全国2卷理科数学2019年研究生国家线多少2019年考研数学分数线大约在70至75之间,经济类的大约在75-80之间...

学前教育学学什么 幼儿教育课程讲什么

学前教育学学什么 幼儿教育课程讲什么

学前教育专业要学什么?学前教育主要学什么?学前教育学什么?幼儿教育主要学什么?学前教育要学什么?本文导航学前教育专业都教什么学前教育的主修课程是哪些学前教育学主要教什么幼儿教育课程讲什么学习学前教育需要什么学前教育专业都教什么该专业课程体系主要包括理论课程、实践课程和毕业论文(设计)。理论课程由通识...

学考成绩什么时候出来 2021年7月浙江省学考成绩查询时间

学考成绩什么时候出来 2021年7月浙江省学考成绩查询时间

湖南学考成绩一般什么时候出?2020年7月浙江省学考成绩什么时候出?2021年7月浙江学考成绩什么时候出?2021浙江7月学考什么时候出成绩?2021年7月学考成绩什么时候出?2021湖南学考成绩什么时候出?本文导航湖南2022年学考成绩什么时候发布浙江2022学考7月啥时候出成绩2021年7月浙江...

英语二怎么才能上55 考研英语二试卷题目顺序

2015年考研英语二上45分难么?考研英语二.怎么学能50分以上?英语二有多难?跟雅思托福相比,考研英语二,客观题用近几年真题模拟了几次,都是在45-50之间,还有机会上70吗?考研英语二怎么复习才能考到80分以上?本文导航考研英语二如何能达到30分考研英语二如何蒙到30分零基础考英语二需要多少时间...

怎么知道考数一数二 怎么判断考研是数学一还是数学二?

怎么知道自己是考数一还是数二,还是数3,是看专业还是学校啊。还有英语分123吗政治呢?怎么确定考数学几?数学一二三都是怎么分的啊,怎么知道自己考数学几?怎么判断考研是数学一还是数学二?怎么才能知道自己考研是数学一还是二?考研怎么知道考数几?本文导航怎么知道自己是考数一还是数二,还是数3,是看专业还是...

怎么学习学前教育学 怎样才能学好《学前儿童科学教育》这门课程

怎么学习学前教育学 怎样才能学好《学前儿童科学教育》这门课程

应该怎样学好学前教育专业的知识?如何学好学前教育专业?学前教育专业需要学习哪些东西,学前教育应该怎么学?怎样才能学好《学前儿童科学教育》这门课程?本文导航应该怎样学好学前教育专业的知识如何学好学前教育专业?学前教育专业为什么课程多学前教育应该怎么学怎样才能学好《学前儿童科学教育》这门课程应该怎样学好...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。