优先队列(堆)priority queue

优先队列(堆)priority queue优先队列(堆)priorityqueue完全二叉树:除了最底层都被元素填满堆序性:除根节点,最小堆每个节点父亲的Key小于等于该节点的Key,最大堆反之优先队列的申明structHeapStruct;typedefstructHeapStruct*PriorityQueue;PriorityQueueInitialize(intMaxElements);void…

大家好,又见面了,我是你们的朋友全栈君。

优先队列(堆)priority queue

  • 完全二叉树:除了最底层都被元素填满
  • 堆序性:除根节点,最小堆每个节点父亲的Key小于等于该节点的Key,最大堆反之

优先队列的申明

struct HeapStruct;
typedef struct HeapStruct* PriorityQueue;

PriorityQueue Initialize (int MaxElements);
void Destroy (PriorityQueue H);
void MakeEmpty (PriorityQueue H);
void Insert (ElementType X, PriorityQueue H);
ElementType DeleteMin (PriorityQueue H);
ElementType FindMin (PriorityQueue H);
int IsEmpty (PriorityQueue H);
int IsFull (PriorityQueue H);

struct HeapStruct
{
	int Capacity;
	int size;
	ElementType* Elements;
}
Insert

插入操作,将新增元素放到最后面,比较其与父节点,进行上滤,O(logN)

DeleteMin

删除操作,删除根节点元素后,进行下滤,O(logN)

FindMin

根元素即为所求,O(1)

应用

求第k大的数,求最大前k个数,klogN

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160504.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • h5页面 请在微信客户端打开链接_请在微信客户端打开链接 html「建议收藏」

    h5页面 请在微信客户端打开链接_请在微信客户端打开链接 html「建议收藏」1前言有时候,需要链接只能在微信上打开,如果不是,则提示请在微信客户端打开链接的字眼的网页,网页代码如下:(这个是网页应用授权时,非微信上打开,就会出现,然后把它单独拿出来了)2代码varua=navigator.userAgent.toLowerCase();varisWeixin=ua.indexOf(‘micromessenger’)!=-1;varisAndroid…

    2022年5月2日
    195
  • css两端对齐IOS不适用 样式冲突

    css两端对齐IOS不适用 样式冲突问题 textclass explain v html info goodsExplain explain white space pre wrap 用来换行 display inline block text align justify 用来两端对齐 text align last left word break break word 文本带有换行符 没有带标签 textclass explain v html info goodsExplain

    2025年7月27日
    1
  • react项目实战教程(react项目实战)

    文章目录项目实战前的准备工作项目实战一.搭建项目的基本页面及外层路由1-1配置基本页面1-2配置路由1-3需要最外层去渲染路由视图1-4需要配置内层App路由1-5路由的懒加载二.利用Antd实现组件2-1使用Antd的Layout进行布局2-2可以设计个Logo2-3实现左侧的菜单展示2-4实现左侧的小图标2-5实现点击菜单切换总结需要下载的组件项目实战前的准备工作React基础…

    2022年4月12日
    39
  • Weblogic的Admin server进程将CPU消耗尽问题解决

    Weblogic的Admin server进程将CPU消耗尽问题解决

    2022年1月30日
    50
  • tcp rst报文_TCP报文格式

    tcp rst报文_TCP报文格式RESET报文的接收和检查处理。客户端握手阶段对于TCP客户端,在发送完SYN报文之后,如果接收到的回复报文同时设置了ACK和RST标志,在检查完ACK的合法性之后,处理RST标志,关闭套接口。对于ACK确认序号,其应当大于第一个未确认序号(snd_una),并且,确认序号不应大于未发送数据的序号(snd_nxt)。通常情况下ACK确认序号应当等于snd_una加一(SYN占用一个序号),但是,如果SYN报文中带有数据(例如:TFO),ACK确认序号会更大。以上情况向对端发送reset报文,但是,如果

    2022年10月1日
    2
  • Snort安装_snorer

    Snort安装_snorer1、下载源文件wgethttps://www.snort.org/downloads/snort/daq-2.0.6.tar.gzwgethttps://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz2、解压安装tarxvfzdaq-2.0.6.tar.gzcddaq-2.0.6./configure;mak

    2025年8月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号