中国建设银行网站查询密码什么装修网站做的好的

pingmian/2025/10/7 20:06:29/文章来源:
中国建设银行网站查询密码,什么装修网站做的好的,微信公众平台登录页面,简易的在线数据库网站模板目录 一、AVL树的定义二、AVL树的作用三、AVL树的插入操作插入——平衡因子的更新插入——左单旋插入——右单旋插入——左右双旋插入——右左双旋 四、ALVL树的验证五、AVL树的性能 一、AVL树的定义 AVL树#xff0c;全称 平衡二叉搜索#xff08;排序#xff09;树。 二… 目录 一、AVL树的定义二、AVL树的作用三、AVL树的插入操作插入——平衡因子的更新插入——左单旋插入——右单旋插入——左右双旋插入——右左双旋 四、ALVL树的验证五、AVL树的性能 一、AVL树的定义 AVL树全称 平衡二叉搜索排序树。 二叉搜索树虽可以缩短查找的效率但如果数据有序或接近有序二叉搜索树将退化为单支树查找元素相当于在顺序表中搜索元素效率低下。因此两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年发明了一种解决上述问题的方法当向二叉搜索树中插入新结点后如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要对树中的结点进行调整)即可降低树的高度从而减少平均搜索长度。 平衡因子Balance Factor简写为bf 平衡因子bf结点的左子树的深度减去右子树的深度。也可以是右子树的深度减去左子树的深度。看个人实现而异。 即 结点的平衡因子 左子树的高度 - 右子树的高度。 或者 节点的平衡因子 右子树的高度 - 左子树的高度。 AVL树本质上是一颗二叉查找树但是它又具有以下特点 它的左右子树都是AVL树左右子树高度之差(简称平衡因子)的绝对值不超过1(-1/0/1) 这就是一颗AVL树 二、AVL树的作用 有一颗二叉树他有n个节点如果他是一颗二叉搜索树他形状多样可能会形成单枝树高度为n,那么在这颗搜索树中查找元素的最坏时间复杂度为O(n),最好时间复杂度是O( l o g 2 n log_2 n log2​n)。 如果他是一颗AVL树他的高度稳定为 l o g 2 n log_2 n log2​n,查找元素的时间复杂度为O( l o g 2 n log_2 n log2​n)。 由上图可知同样的结点由于插入方式不同导致树的高度也有所不同。特别是在带插入结点个数很多且正序的情况下会导致二叉树的高度是O(N)而AVL树就不会出现这种情况树的高度始终是O(lgN).高度越小对树的一些基本操作的时间复杂度就会越小。这也就是我们引入AVL树的原因。 三、AVL树的插入操作 插入——平衡因子的更新 在插入一个元素的时候必然会引起平衡因子的变化所以我们需要在插入的时候把平衡因子同时更新在平衡因子大于1或者小于-1时我们则需要进行旋转操作进行调整使平衡因子再次正常从而保证这颗二叉树一直是一颗AVL树。   使用平衡因子计算 右子树高度 - 左子树高度 情况一 在插入元素后需要更新父节点的平衡因子在父节点的左子树插入元素父节点的平衡因子-1在父节点的左子树插入元素父节点的平衡因子1如果父节点的平衡因子更新过后变为1或者-1则需继续往上更新至根节点因为1或者-1表示该节点的高度发生改变需往上更新。 情况2 在插入元素后需要更新父节点的平衡因子在父节点的左子树插入元素父节点的平衡因子-1在父节点的左子树插入元素父节点的平衡因子1如果父节点的平衡因子更新过后变为0则不需要继续向上更新因为变为0只能说明该树高度没有变化只是相对于原来变得平衡。 如果在更新平衡因子后平衡因子不在(-1/0/1)范围时则需旋转操作下面讲解如何进行旋转操作 由于插入需要旋转的情况较多大致可以分为四大类 插入——左单旋 动图演示 情况一 右子树高时在右子树的右侧插入元素此时需要左单旋 插入——右单旋 动图演示 情况二、 左子树较高时在左子树的左侧插入元素此时需要右单旋 插入——左右双旋 情况三、左子树较高时在左子树的右侧插入元素此时需要左右双旋即先对30进行左单旋然后再对90进行右单旋 插入——右左双旋 情况四、右子树较高时在右子树的左侧插入元素此时需要右左双旋即先对90进行右单旋然后再对30进行左单旋 四、ALVL树的验证 int _Height(Node* root) {//用来计算二叉树的高度if (root NULL)return 0;int leftH _Height(root-_left);int rightH _Height(root-_right);return leftH rightH ? leftH 1 : rightH 1; }bool _IsBalance(Node* root) {if (root NULL)return true;int leftH _Height(root-_left);int rightH _Height(root-_right);//检查平衡因子if (rightH - leftH ! root-_bf){cout root-_kv.first 节点平衡因子异常 endl;return false;}//通过计算左右子树的高度差判断这颗二叉树是否为AVL树return abs(leftH - rightH) 2 _IsBalance(root-_left) _IsBalance(root-_right);//检查高度差要检查二叉树中所有节点的左右子树的高度差 }bool IsBalance() {return _IsBalance(_root); }五、AVL树的性能 AVL树是一棵绝对平衡的二叉搜索树其要求每个节点的左右子树高度差的绝对值都不超过1这样可以保证查询时高效的时间复杂度即 l o g 2 n log_2 n log2​n 。 但是如果要对AVL树做一些结构修改的操作性能非常低下比如插入时要维护其绝对平衡旋转的次数比较多更差的是在删除时有可能一直要让旋转持续到根的位置。因此如果需要一种查询高效且有序的数据结构而且数据的个数为静态的(即不会改变)可以考虑AVL树但一个结构经常修改就不太适合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做产品网站营销推广网页设计需要学什么技术

一、前言 本项目演示在QT中使用SQLITE数据库存储数据管理的过程。当前以会员卡管理系统为例,写了一个界面,完成会员卡的注册,添加,充值,查询,注销,导出顾客信息EXECL表格 等功能的实现。 演示 SQLITE数据库的建表、增、删、改、查等语句功能实现。 SQLite是一款轻型的…

网站底部代码特效上海比较出名的广告公司

IPKISS ------ AMF 添加自定义层 正文 正文 很多时候,我们想要添加属于我们自己的层,此时我们需要向 AMF pdk 中的 gdsii.py 和 layers.py 文件添加层的信息。这两个文件的目录如下: 在 gdsii.py 文件下的 TECH.GDSII.LAYERTABLE 字典中我们…

如何做付款网站小程序开发案例

题目描述 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:1531^35^33^3。 现在要求输出…

英文网站定制哪家好seo推广软件排行榜

运筹学中的python基本操作 运筹学库的基本介绍MIP 库的使用networkx 库的使用运筹学 所谓运筹学(Operation Research) 就是用数学方法研究各种系统最优化问题的学科,为决策者提供科学决策的依据,求解系统最优化问题,制定合理运用人力,物力,财力的方案。 库的基本介绍 对…

建工集团两学一做网站企业站官方网站

LabVIEW超声波局部放电检测系统开发 在高压电力系统中,局部放电(PD)是导致绝缘失效的主要原因之一。局部放电的检测对于确保电力系统的可靠运行至关重要。开发了一种基于LabVIEW软件的超声波局部放电检测系统的设计与实现。该系统利用数字信号处理技术,…

北京海淀国税局网站连云港网站建设网站

参见地址: https://github.com/jtyjty99999/mobileTech 转载于:https://www.cnblogs.com/duanyue/p/7337789.html

贵阳网站建设hsyunso网站建设提升界面流畅程度

ORACLE数据库常见故障: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE数据库ASM存储破坏。 3、ORACLE数据库数据文件丢失。 4、ORACLE数据库数据文件部分损坏。 5、ORACLE数据库DUMP文件损坏。 ORACLE数据库数据恢复可能性分析: 1、ORACLE数据库无…

网站建设技术服务协议新能源汽车价格表3万左右

软件工程模型 敏捷开发: 个体和交互 胜过 过程和工具、可以工作的软件 胜过 面面俱到的文件、客户合作胜过合同谈判、响应变化 胜过 循序计划。(适应需求变化,积极响应) 敏捷开发与其他结构化方法区别特点:面向人的…

做网站需要每年都缴费吗媚娘直播

1. 贝叶斯推断 统计推断这件事大家并不陌生,如果有一些采样数据,我们就可以去建立模型,建立模型之后,我们通过对这个模型的分析会得到一些结论,不管我们得到的结论是什么样的结论,我们都可以称之为是某种推…

网站建设gongsi贵阳网站建设公司哪个好

一、函数组件 1. 定义函数组件 在React中,函数组件(Functional Component)是一种通过纯粹的JavaScript函数定义的UI组件。函数组件采用函数的方式接收一个输入参数 props,并返回一个React元素或者一组React元素作为输出。定义函…

建设网站机构广西网站建设哪里好

开发中需要提取PDF文件某页某区域内的特定文本内容,对于文字转换而成的PDF文件,可以使用iText库,通过Rectangle划定PDF页中特定区域提取文字,思路是将这个Rectangle框定区域放到TextRegionEventFilter过滤器中,代码如下…

定制网站建设托管网站开发公司排行

数据入湖Hudi Apache Hudi(简称:Hudi)使得您能在hadoop兼容的存储之上存储大量数据,同时它还提供两种原语,使得除了经典的批处理之外,还可以在数据湖上进行流处理。这两种原语分别是: Update/Delete记录:H…

企业建设网站的方式有哪些网页设计是干嘛的

一、源码特点 java ssh水利综合信息管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCA…

公司建设官方网站全国最大的源码平台

在Qt中,一般习惯使用qDebug信息进行输出和打印调试信息到console或者文件中,在qDebug中,也有一些小技巧,可以帮助我们更好的使用qDebug打印日志记录,本文分享了qDebug使用的一些小技巧。 1. 打印出文件名、行号、调用函…

博客网站快速排名在哪网站开发软件

2018年山东省职业院校技能大赛高职组 “信息安全管理与评估”赛项任务书 赛项时间 8:30-13:00,共计4小时30分钟,含赛题发放、收卷时间。 赛项信息 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段 平台搭建与安全设备配置防护 …

温州seo排名公司企业网站 更新 seo

cmp() 方法用于比较两个列表的元素。cmp()方法语法:cmp(list1, list2)参数:list1 -- 比较的列表。list2 -- 比较的列表。返回值:如果比较的元素是同类型的,则比较其值,返回结果。如果两个元素不是同一种类型,则检查它们是否是数字。如果是数字…

莱芜建设网站图片合成器在线制作

概述 不同中间件,有各自的使用方法,代码也不一样。 可以使用Spring Cloud Stream解耦,切换中间件时,不需要修改代码。实现方式为使用绑定层,绑定层对生产者和消费者提供统一的编码方式,需要连接不同的中间…

花生壳域名直接做网站松江品划网站建设

本节主要介绍以下内容: 定时器简介 高级定时器功能框图讲解 一、定时器简介 定时器功能 :定时、输出比较、输入捕获、断路输入 定时器分类 :基本定时器、通用定时器、高级定时器 定时器资源 :F103有2个高级定时器、4个通…

做网站主要学什么网站前端

传统的DEA模型往往假设相关的是相互独立的,此时DEA模型只能计算出相对效率,无法进行效率的调整。如在碳排放分配问题上,碳排放总量保持不变,利用DEA模型只能计算出每个省份分配的相对效率,这在讨论固定资源下的碳排放配额分配问题时具有明显的局限性。在这种情况下,利用Z…

平台门户网站建设方案大连模板网站制作公司电话

考点介绍: ConcurrentHashMap是JAVA校招面试的热门考点,主要集中在1.7和1.8的底层结构和相关的性能提高。 理解这个考点要从map本身的并发问题出发,再到hashTable的低性能并发安全,引申到ConcurrentHashMap的分块处理。同时要理解…