问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

平衡二叉树的作用

发布网友 发布时间:2022-04-28 23:08

我来回答

2个回答

热心网友 时间:2022-04-14 14:10

我们知道,对于一般的二叉搜索树(Binary Search Tree),其期望高度(即为一棵平衡树时)为log2n,其各操作的时间复杂度(O(log2n))同时也由此而决定。但是,在某些极端的情况下(如在插入的序列是有序的时),二叉搜索树将退化成近似链或链,此时,其操作的时间复杂度将退化成线性的,即O(n)。我们可以通过随机化建立二叉搜索树来尽量的避免这种情况,但是在进行了多次的操作之后,由于在删除时,我们总是选择将待删除节点的后继代替它本身,这样就会造成总是右边的节点数目减少,以至于树向左偏沉。这同时也会造成树的平衡性受到破坏,提高它的操作的时间复杂度。
平衡二叉搜索树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。常用算法有红黑树、AVL、Treap、伸展树等。在平衡二叉搜索树中,我们可以看到,其高度一般都良好地维持在O(log2n),大大降低了操作的时间复杂度。

热心网友 时间:2022-04-14 15:28

平衡二叉树(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 增加?能否减少树的总层数?那减少纵深只能从横向来想办法,这时候可以考虑用多叉树。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小红书怎么修改ID 专属ID更改方法 Win11如何更改字体视觉效果 Win11字体视觉效果修改方法介绍 华为团队管理模式 通信工程这个专业主要是学什么 专注力差的孩子该如何纠正 三岁的孩子专注力不好,怎么培养她的专注力呀!。 镇江关周围有什么玩的,镇江及周边旅游景点 大港南站去镇江汽车站怎么走 镇江汽车站到大港南站有多远 出国去澳大利亚留学都需要注意哪些事项呢? 澳大利亚留学条件及注意事项有哪些 云南白药里的保险子有什么用 二叉树如何转换成平衡二叉树 云南白药里的保险子,有什么用途?如何用? 治疗外阴白斑的中药 红米4A如何将首选安装位置调至SD卡? 云南白药里的保险丸有什么用呀 中药白黎黎能治白癜风吗 什么是平衡二叉树? 平衡二叉树的介绍 药物里面有颗保险子,这是起什么作用的? 云南白药胶囊瓶里的保险子有什么作用? 红米4a手机,放两张卡,默认是一卡流量,想换成2卡流量。可是却掉不了... 为什么STL和linux都使用红黑树作为平衡树的实现 云南白药里面那粒保险子,有什么用? 数据结构中的平衡二叉树怎么理解 云南白药里的保险子是什么用?可以吃吗? 什么叫平衡二叉树,KD树是不是就是平衡二叉树呢? 红黑树比起AVL树具体更高效在什么地方呢? 云南白药保险子作用是什么? 这个树是不是平衡二叉树,如果不是,请说明为什么?怎么算? 云南白药的保险子有什么功效? 云南白药胶囊的保险子能够治疗骨折么,保险子能多吃么 沈阳荣盛颐和名郡周边环境怎么样?生活便利吗? 红米note默认卡设置 为什么选择红黑树作为底层实现 沈阳荣盛颐和名郡怎么样?好不好?值不值得买? wps中的 excel 数据条在哪里 苍耳茎叶、子可以治疗白癜风吗? 什么是平衡二叉树 华为mate40亮黑色u12是什么意思 治疗外阴白斑用什么中草药熏洗 题目3. 平衡二叉树算法查找树中某节点的时间复杂度是多少? 表格数据条怎么设置 荣耀9青春版好不好用 tt语音积分有什么用 y有治疗外阴白斑的中药方子吗 tt语音积分余额怎么用掉 12月21号后买华为标准版是不是好买了? tt语音我这边准备是提现成钱的然后不下心点到兑换了怎么办能换回来吗急问 简单的日记怎么写