数据结构之---堆(2)

news2024/11/24 7:17:24

一、出堆

出堆是指将堆顶数据出堆。出堆完成后要保证剩余数据还是满足原来堆的性质。所以我们把堆顶数据和堆底最后一个数据交换,取出新堆底数据,之后通过向下调整算法将剩下的数据重新排列成一个堆。

大堆经过出堆操作得出的数据是升序的

小堆经过出堆操作得出的数据是降序的

二、建堆

向上调整建堆

将新数据插入堆底,然后向上调整直到满足堆的结构

 

向下调整建堆

要向下调整,就要确保该数据下面的数据已经是一个堆了。我们从堆底数据开始排,比较堆底数据和它父节点的数据。一轮完成后下面几层都是堆的顺序了。调整完成后得到新的父子节点,在继续将新的父节点向下调整。

节点越多的层越靠后 

向下调整算法节点多的层调整的次数少 

向上调整算法节点多的层调整的次数还多,所以在时间复杂度上向下调整算法是优于向上调整算法的。

 

 

 

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

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

相关文章

聚观早报 | 一加13配置细节曝光;谷歌首推人工智能手机

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 8月15日消息 一加13配置细节曝光 谷歌首推人工智能手机 MONA M03汽车即将上市 iPhone SE 4将升级8GB运行内存 R…

redis事件机制

redis服务器是一个由事件驱动(死循环)的程序,它总共就干两件事: 文件事件:利用I/O复用机制,监听Socket等文件描述符发生的事件,如网络请求时间事件:定时触发的事件,负责完成redis内部定时任务&…

MCU复位RAM会保持吗,如何实现复位时变量数据保持

在使用MCU时,通常大家默认MCU复位时RAM会被复位清零,那实际MCU复位时RAM是什么状态?如何让mcu复位时RAM保持不变呢? MCU复位有电源复位、Standby复位、内核复位、看门狗复位、引脚复位等。 其中内部会有掉电动作的复位有电源复位…

Linux知识复习第5期

目录 1、实验环境 2、日志存放 3、自定义日志采集路径 1、实验环境 hostnamectl hostname node1.zx.org # 设置主机名 vim /etc/hosts # 域名解析修改 hostname -I # 显示ip地址 2、日志存放 /var/log/messages 系统服务日志,常规…

快速MD5强碰撞生成器:fastcoll

问:可以制作两个具有相同哈希值的不同文件吗? 答:可以。 在密码学中,哈希函数将输入数据转换成固定长度的字符串。但由于输入的无限性和输出的固定性,不可避免地会有不同输入产生相同的哈希值,这就是碰撞。…

【ITK】图像分割算法:FastGrowCut详解

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享图像分割算法FastGrowCut的详细解析过程,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 目录…

单元训练09:定时器实现秒闪功能

蓝桥杯 小蜜蜂 单元训练09:定时器实现秒闪功能 #include "stc15f2k60s2.h"#define LED(x) \{ \P0 x; \P2 P2 & 0x1f | 0x80; \P2 & 0x1f; \}#define L1 0xFE; // 定义L1 …

线程锁(2)

线程的资源回收 int pthread_join(pthread_t thread, void **retval); 功能: 等待线程结束 参数: thread --- 线程tid retval --- 用来保存,退出状态值,所在空间的地址 返回值: 成功 0 失败 错误…

[240816] 【超级大牛】kovidgoyal:calibre 和 kitty 的作者 | Go 发布 1.23.0 版本

目录 【超级大牛】kovidgoyal:calibre 和 kitty 的作者calibrekitty Go 发布 1.23.0 版本Go 1.23 版本更新说明 【超级大牛】kovidgoyal:calibre 和 kitty 的作者 calibre calibre 是由 github.com/kovidgoyal 使用 C 和 Python 开发的跨平台电子书管理…

开源AI智能名片系统与高级机器学习技术的融合应用:重塑商务交流的未来

摘要:在数字化浪潮的推动下,人工智能(AI)技术,尤其是机器学习领域的快速发展,正深刻改变着各行各业的面貌。开源AI智能名片系统作为这一变革的先锋,通过集成并优化多种高级机器学习技术&#xf…

Word文档怎么批量加密保存

Word的文件批量设置密码是工作中比较常用的功能,它可以对文档进行保护,平时我们都是单个对文件进行加密,那么多个文件如何一键批量设置,下面通过一些方法,我们可以进行批量设置密码保存起来。 一、使用Word软件内置功能…

郑州市政协副主席翟政莅临中创算力开展重点企业实地调研

2024年8月13日,围绕“落实中央和省委、市委政协工作会议精神情况”郑州市政协副主席翟政一行莅临河南中创算力信息科技有限公司进行实地调研。中创算力董事长许伟威全程陪同。此次调研不仅是对中创算力在数字经济领域发展成就的肯定,更是对中创如何积极响…

《机器学习by周志华》学习笔记-决策树-03连续值与缺失值

1、连续值处理 到目前为止,我们在决策树01、02中仅讨论了基于离散属性来生成决策树,而现实任务中常会遇到连续属性,所以在本章的学习中,我们将会讨论如何在决策树学习中使用连续属性。 1.1、概念 取值范围是连续的实数值或者整数值的属性就是「连续属性」,与离散属性相对…

VSCode自动保存文件

off:关闭自动保存,这是默认选项afterDelay:会每隔若干秒保存一次OnFocusChange: 编辑器是去焦点时自动保存文件,比如说你打开了多个文件,你编辑好了A,然后切换到B文件,那么此时A文件…

信息流广告预估技术在美团外卖的实践

本文整理自美团技术沙龙第81期《美团在广告算法领域的探索及实践》(B站视频)。文章首先介绍了美团信息流广告业务以及预估技术的现状,然后重点分享了信息流广告预估在美团的具体实践,围绕决策路径、超长超宽建模和全还原建模等多个维度进行了分享&#x…

Taos 常用命令工作笔记(二)

最近测试创建一个涛思的数据库和一堆表进行测试,通过json配置文件配置字段的类型、名称等,程序通过解析json文件的配置,动态创建数据库的表。 其中表字段为驼峰结构的规则命名,创建表也是成功的,插入的测试数据也是成功…

实用性强的高安全涉密内网文件传输工具

在数字化浪潮中,数据安全和合规性成为企业和组织极为关注的焦点,特别是在处理敏感和机密信息时。高安全级别的内网文件传输工具因此变得至关重要,它们是保护数据不被未授权访问或泄露的关键技术之一。这类工具不仅需要满足严格的安全标准&…

zdpgo_gin_jwt 专为zdpgo_gin打造的JWT权限校验中间件,当需要实现基于JWT Token的权限校验的时候可以考虑使用此框架

zdpgo_gin_jwt 专为zdpgo_gin打造的JWT权限校验中间件,当需要实现基于JWT Token的权限校验的时候可以考虑使用此框架 使用教程 快速入门 package mainimport ("log""net/http""os""time"gin "github.com/zhangdap…

服务器数据恢复—IBM服务器raid5阵列硬盘出现坏道的数据恢复案例

服务器数据恢复环境&故障: 一台ibm x3850服务器,有一组由5块硬盘组建的raid5磁盘阵列,上层是Redhat Linux操作系统,部署了一个oracle数据库。 raid5阵列中2块硬盘离线,阵列崩溃。经过检测发现该raid中的热备盘未激…

html5眼镜商城模板源码

文章目录 1.设计来源1.1 主界面1.2 主界面弹框1.3 眼镜列表1.4 商品列表1.5 商品列表1.6 商城推广1.7 页面底部 2.效果和源码2.1 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 【博主推荐】:前些天发现了一个巨牛的人工智…