14 - 堆栈 - 小顶堆

news2024/11/26 1:38:23

前面我们学习了线性结构的栈, 今天我们来学习一种非线性结构-堆

堆的定义

堆是一种非线性结构,可以把堆看作一棵二叉树, 堆的存储可以使用数组来存放!

堆的分类

堆可以分为大顶堆小顶堆。 大顶堆: 每个结点的值都大于或等于其左右孩子结点的值。 小顶堆: 每个结点的值都小于或等于其左右孩子结点的值。

这节课,我们先来看小顶堆!

小顶堆示意图

堆数组存放的公式

我们用简单的公式来描述一下堆的定义就是:

大顶堆arr[i] >= arr[2i+1] && arr[i] >= arr[2i+2]

小顶堆arr[i] <= arr[2i+1] && arr[i] <= arr[2i+2]

所以上面的小顶堆变成数组存放就是:

 下面就来看看小顶堆的C语言实现:

 

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

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

相关文章

目标检测——yolo系列算法

目录 yolo算法yolo算法思想yolo的网络结构网络输入网络输出7x7网格30维向量 yolo模型的训练训练样本的构建损失函数模型训练 模型预测yolo总结 yoloV2预测更准确(better)batch normalization使用高分辨率图像微调分类模型采样Anchor Boxes聚类提取anchor尺度边框位置的预测细粒…

设计模式之单例模式的实现形式、弊端以及可替代的解决方案。

你好&#xff0c;我是爱养猫的程序员雪球&#xff0c;今天与你分享设计模式之单例模式。 单例模式是指一个类只允许创建一个对象&#xff08;或实例&#xff09;的模式。它在很多应用场景中具有重要作用&#xff0c;例如处理资源访问冲突&#xff08;如日志文件写入&#xff09…

生信分析案例 Python简明教程 | 视频12

开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在&#xff1a;https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…

安徽华云安荣获合肥市大数据企业认定

日前&#xff0c;合肥市数据资源局公布了2023年度合肥市大数据企业认定名单&#xff0c;华云安子公司安徽华云安科技有限公司&#xff08;以下简称安徽华云安&#xff09;被成功认定为合肥市大数据企业。 据悉&#xff0c;合肥市大数据企业是合肥市为扶持和鼓励大数据企业发展&…

Android 自定义带箭头对话框背景

简介 自定义drawable&#xff0c;带箭头对话框背景&#xff0c;三角形矩形组合。应用于对话框背景、提示语背景等。 可设置箭头显示方向、箭头大小、箭头导圆角尺寸、矩形尺寸、矩形导圆角尺寸、背景颜色、drawable padding值&#xff08;影响宿主控件padding&#xff09;。 …

欧姆龙以太网模块如何设置ip连接 Kepware opc步骤

在数字化和自动化的今天&#xff0c;PLC在工业控制领域的作用日益重要。然而&#xff0c;PLC通讯口的有限资源成为了困扰工程师们的问题。为了解决这一问题&#xff0c;捷米特推出了JM-ETH-CP转以太网模块&#xff0c;让即插即用的以太网通讯成为可能&#xff0c;不仅有效利用了…

排序算法之冒泡排序详解-python版

冒泡排序&#xff1a;通过比较2个相邻元素之间的大小&#xff0c;交换元素顺序&#xff0c;从而达到排序目的。 从百度百科摘抄下来的冒泡排序原理如下&#xff1a; 比较相邻的元素。如果第一个比第二个大&#xff0c;就交换他们两个。 对每一对相邻元素做同样的工作&#xf…

ComboBox基本用法

作用&#xff1a;是一个下拉框&#xff0c;用于以下拉列表的方式展示数据。 常用属性&#xff1a; 常用事件&#xff1a; 下拉列表框内容选择变化时触发 后台代码示范&#xff1a; private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){//获取被选中的…

怎样优雅地增删查改(七):按用户查询

文章目录 实现使用测试 实现 定义按用户查询&#xff08;IUserOrientedFilter&#xff09;接口 public interface IUserOrientedFilter {public string EntityUserIdIdiom { get; }Guid? UserId { get; set; } }EntityUserIdIdiom&#xff1a;语义上的UserId&#xff0c;用于…

使用Pandas简化数据探索性分析

大家好&#xff0c;本文将探讨数据探索性分析的两个基本方面&#xff1a;数据集形状和空值。我们将深入了解Pandas如何简化这些任务&#xff0c;重点关注需要同时分析多个表格的情况。使用的库是pandas和tabulate。 数据集形状 要检索单个表格的形状&#xff0c;可以使用.sh…

「小摹AI」赋能原型设计 开放内测申请

「小摹AI」智能原型助手发布啦&#xff01; 4大AI应用能力&#xff1a;智能原型|智能文本|智能翻译|智能填充 释放原型设计的无限潜能 摹客AI - 让设计更具创造力http://www.mockplus.cn/ai/?hmsrwencsdnAI 智能原型 催生创新&#xff0c;开启原型设计新境界 根据描述&…

equals与Hashcde的区别

1、equals与hashCode的区别 equals与hashcode这两个方法都是从Object类中继承过来的。 hashCode()&#xff1a;计算出对象实例的哈希地址&#xff0c;并且返回该地址&#xff0c;称哈希函数&#xff0c;又称散列表。 equals()&#xff1a;反映的是对象的内存地址或者对象的内…

uniapp canvas 生成海报 小程序码 二维码

uniapp canvas 生成超简单海报带小程序码 canvas官网链接&#xff0c;可以先看下官方介绍&#xff0c;更好理解 uniapp官网canvas介绍 一、首先自定义一个生成海报的组件 uni-xcxcanvas.vue&#xff0c;创建同名目录 模板文件代码&#xff1a; <template><view&…

AtcoderABC251场

A - Six CharactersA - Six Characters 题目大意 给定一个由小写英文字母组成的字符串S&#xff0c;S的长度在1到3之间。 打印一个长度为6的字符串&#xff0c;该字符串是S的重复。 思路分析 通过将S重复拼接6次&#xff08;如果给定原字符串最小的情况&#xff09;&#xf…

【LLM】利用RoPE不微调大模型以扩展Context长度(更新中)

note 文章目录 note一、扩展LLM的Context长度1. 常见方法2. PCW方法 二、NBCE方法三、RoPE方法四、FlashAttention方法Reference 一、扩展LLM的Context长度 1. 常见方法 扩展LLM的Context长度其实已有不少&#xff0c;但多数是通过结合检索或者摘要的方式来缩短样本的长Conte…

深入学习 Redis - 常用数据类型,结构认识

目录 一、Redis数据类型 Redis 数据类型结构简单认识 每个数据类型具体的编码方式 1.string 2.hash 3.list 4.set 5.zset 典中典&#xff1a;记数字&#xff01;&#xff01;&#xff01; 6.查看 key 对应 value 的实际编码方式 如果本文有帮助到你&#xff0c;不…

古风编曲用什么软件?水果编曲FL Studio21怎么样

古风编曲需要什么乐器&#xff1f;古风编曲多采用笙、箫、二胡、古筝、琵琶、唢呐、二胡、竹笛、马头琴等中国传统乐器。古风编曲用什么软件&#xff1f;市面上几款热门软件有FL Studio、Cubase、Logic Pro等。 古风编曲需要什么乐器 我们常说的古风歌曲&#xff0c;其实是一…

CocoaPods could not find compatible versions for pod ““:

添加新的 SDK 依赖抛出了如下异常,无法找到可兼容的版本依赖库; [!] CocoaPods could not find compatible versions for pod "HDSSup":In Podfile:HDSSupSpecs satisfying the HDSSup dependency were found, but they required a higher minimum deployment targe…

使用这些ai绘画生成器,再也不愁没有好看的壁纸了

你们最近有没有发现网上开始流行ai绘画&#xff1f;我总是能看到ai绘画出来的图片&#xff0c;犹如下面这些图片。 这些图片是不是好看到&#xff0c;可以作为头像使用了&#xff1f;它们确实是ai绘画出来的&#xff0c;不过现在ai绘画软件众多&#xff0c;你们知道哪一款好用吗…

nvm node yarn

nvm node 以及node 对应的版本的npm相关配置的整理 ##如何设置npm 全局node_modules 安装目录 你可以通过 npm 的配置来设置全局安装的 node_modules 目录。默认情况下&#xff0c;npm 全局安装的包会存储在操作系统的特定目录中&#xff0c;如在 Windows 上为 C:\Users\<…