数据结构-在堆中插入或删除新元素

news2024/11/25 8:19:53

 目录

在堆中插入新元素

在堆中删除元素

知识回顾 


在堆中插入新元素

首先插入13(这里我们依据的是小根堆原则,遇到大根堆也是类似的)

(1)将新元素放到队列的队尾,在完全二叉树里面显示的是堆底

如下图是插入13的位置显示

 

 

 (2)对于小根堆,新元素和他的父节点对比,若新元素比父节点更小,则交换,让小元素一路上升

13小于32,所以13上升,和32交换,得到如图

此时对比第一次

 

13小于17接着交换,13上升

此时对比第二次

 

 

 13和父节点09对比,比其大,停止上升

此时对比第三次

在插入一个新元素46,放入堆底,数组的末尾

 

 

 新结点46和父结点对比,发现比45大,已经满足小根堆,不用交换

此时对比一次

 

在堆中删除元素

假设删除13

 

 

删除13后,将数组里面最后一个元素(即完全二叉树里面的堆底元素)放入到删除元素后的空缺位置) 

如图显示

 

 放入后的效果如下图所示:

 

根据小根堆,在完全二叉树里面看,这个堆底元素46和孩子对比,

孩子17和45对比一次,判断更小的元素是17

然后46和它更小的孩子元素17对比

所以第一趟对比关键字2次

如果46比其大,让这个46元素下坠,让其符合小根堆

所以46和17交换,如下图:

 

接着对比,根据小根堆,在完全二叉树里面看,这个堆底元素46和孩子对比

孩子53和32对比一次,判断更小的元素是32

然后46和它更小的孩子元素对比

所以第二趟对比关键字2次

如果46比其大,让这个46元素下坠,让其符合小根堆

所以46和32交换,如下图:

 

 

综上这里一共对比关键字的次数=4

在堆中删除元素需要注意对比关键字次数

孩子之间要对比一次,判断出来哪个更小,然后需要移动的元素再和更小元素对比,依次类推

 

 

 

 

在删除65 结点

同样堆底元素放入到删除的空缺位置,如下图所示

 

还是在完全二叉树里面比较大小,此时孩子之间对比78和87,更小的是78,然后堆底元素46和更小元素78对比,比其小,满足小根堆,所以一趟完成 

对比关键字次数=2次 

 

 

知识回顾 

 

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

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

相关文章

ElasticSearch - 基础概念,以及和 mysql 的对比

目录 一、ElasticSearch 基础概念 1.1、文档(document) 1.2、索引(index) 1.3、映射(mapping) 二、对比 mysql 2.1、概念对比 2.2、适用场景对比 2.2.1、那是不是说,有了 es 之后&#…

Win10下获取海康威视网络串流(顺便求教Ubuntu服务器做法)

如果有摄像头专供充电器最好,那样可以用交换机,而且可以用海康威视官方的(大概)400密码重置助手获取摄像头IP地址,并做账号初始化等工作 我是一开始还有充电器的时候做了账号初始化,但是现在找不着充电器了…

java - 数组工具类Arrays

目录 前言 一、Arrays是什么? 二、常用方法 1.toString():将数组转换为字符串形式。 2. binarySearch():在已排序的数组中查找指定元素的索引。 3.fill():将数组的所有元素都设置为指定值。 4. copyOf():将一个数组的部分或…

【实训项目】益农小程序

1.项目背景 受到疫情影响,农作物物流运输受阻、产品滞销,给农民的“菜园子”和市民的“菜篮子”带来不少影响,一边是农民种植的蔬菜、草莓等地产农副食品滞销,一边是城区居民买不到新鲜、实惠的农副产品。 有很多地区&#xff0…

【解决方案】‘create’ is not a member of ‘cv::aruco::DetectorParameters’

‘create’ is not a member of ‘cv::aruco::DetectorParameters’ 在构建AruCo标定板标定位姿代码的过程中,发现代码中认为create并不是aruco::DetectorParameters的成员函数,这是因为在4.7.0及以上的OpenCV版本中,对ArUco的代码做调整&…

【KingFusion】如何在3D场景实现流水效果

哈喽,大家好,我是雷工! 在项目过程中,经常会涉及到实现管道水流动效果,此篇记录在KingFusion中的3D场景实现水流效果。 以下为简单流水效果的样例, 一、效果展示 当点击水泵,水泵启动,显示流水…

Linux开篇指南针环境安装(第一课)

Linux开篇指南针(第一课) 1 LINUX 系统介绍 Linux是一种自由和开放源代码的类UNIX操作系统,它最初由芬兰的林纳斯托瓦兹在1991年创建。Linux是一种多用户、多任务操作系统,可以在各种硬件平台上运行,包括桌面、移动设备、服务器和超级计算机…

JavaScript项目1_猜数字(前导)

● 本节,我们将做这样的一个小游戏,意思就是随机生成一个数字,然后你去猜测,本文不涉及HTML和CSS的代码,如果有需要的话可以私信我! document.querySelector() document.querySelector() 是 JavaScript 中…

vue2.x 迭代更新项目去掉缓存处理

找到build文件下的webpack.prod.conf.js文件 定义一个常量version const Version new Date().getTime(); 然后在.js和.css前面加上.${Version}就可以了(注意得把原本的换成)

Dink进阶之路

1、环境变量 cat /etc/profile #flink需要 export HADOOP_CLASSPATHhadoop classpath export HADOOP_CONF_DIR/etc/hadoop/conf2、Flink配置 2.1、flink-conf.yaml jobmanager.rpc.address: node-146 jobmanager.rpc.port: 6123 # 设置jobmanager总内存 jobmanager.memory.…

MongoDB(二)基础操作 创建、删除,查询等

mongodb有一个特点,如果某个库,库下面没数据(mongodb成集合),该库等于不存在的 mongodb只要创建一个库,在库下写入数据,该库才会生成 mongoshe [-hhost -pxxx] 创建数据库 use 数据库名 # 如果…

阿里巴巴OceanBase介绍

前言 官网地址:https://www.oceanbase.com/ OceanBase是由蚂蚁集团完全自主研发的国产原生分布式数据库,始创于2010年。是全球唯一在 TPC-C 和 TPC-H 测试上都刷新了世界纪录的国产原生分布式数据库。 2010年,创始人阳振坤加入阿里巴巴&…

华为云云耀云服务器L实例评测|华为云云耀云服务器L实例CentOS的存储和备份策略

1 华为云云耀云服务器L实例介绍 华为云云耀云服务器L实例是华为云计算服务中的一种虚拟云服务器,它提供了强大的计算资源,可以在云端运行各种应用程序和服务。 华为云服务器提供了多种实例类型,包括通用型、计算优化型、内存优化型等&#…

数据中心不能“偏科”,AIGC时代算力、存力需协调发展

黄金比例是数学上一种堪称“完美”的比例关系,最早由欧几里得在《几何原本》中进行了系统论述。之后,黄金比例的理念被广泛应用到数学、物理、建筑、农业等多个领域,代表着最合理、最协调的一种情况或者状态。 在数据中心领域,相…

模板的注意事项

目录 swap函数&#xff1a; 模板不支持分离编译 声明和定义分离的好处 swap函数&#xff1a; #include<iostream> using namespace std; template <class T> void swap(T&left, T&right) {T temp right;right left;left temp; } int main() {int a …

Vue比较两个数字大小

实现一个比较两个数字大小的页面&#xff0c;练习Vue实例的创建、数据绑定和事件监听方法&#xff1b; <div id"aa"> <ul> <li> <span>第一个数&#xff1a;</span><input v-model.number"first"/> </li> <…

详解Java执行groovy脚本的两种方式

详解Java执行groovy脚本的两种方式 文章目录 详解Java执行groovy脚本的两种方式介绍记录Java执行groovy脚本的两种invokeFunction:invokeMethod:以下为案例&#xff1a;引入依赖定义脚本内容并执行运行结果&#xff1a;例如把脚本内容定义为这样&#xff1a;执行结果就是这样了…

微盟十年:踩准节奏,持续增长

今年以来&#xff0c;中国SaaS行业经历了资本由炽热到寒冬&#xff0c;行业融资笔数和金额均呈现断崖式下跌&#xff0c;截至7月共发生投融资50笔&#xff0c;与去年相比直接腰斩&#xff1b;投融资金额43.52亿元&#xff0c;与2021年同期的258.2亿元、2022年同期的142.37亿元形…

适合在家做的副业 整理5个,有电脑就行

今天&#xff0c;我们不说别的&#xff0c;整理5个适合个人在家单干的副业。需要电脑&#xff0c;如果你没电脑就不用看了&#xff0c;最后两个&#xff0c;我们也在做&#xff0c;你可以看到最后了解。这些副业&#xff0c;大家多去实践操作&#xff0c;前期&#xff0c;每月三…

单层和多层中的应力和分层控制

引言 类金刚石碳(DLC)膜具有诸如高硬度和低摩擦系数的优异特性&#xff0c;并且在切削工具、金属模具和机器部件中具有应用。不幸的是&#xff0c;它们通常表现出低粘合强度由于高的内部压缩应力&#xff0c;导致从衬底上剥离。英思特已经尝试了各种方法来降低内应力&#xff…