优先级队列PQ

应用需求:操作系统的任务调度(电脑类比于医院,cpu类比于医生)
问题模型:

在这里插入图片描述

优先级队列:首先它是一个队列,不是FIFO而是按照优先级访问
栈和队列是优先级队列的特例:优先级完全取决于元素的插入次序
在这里插入图片描述
优先级队列的操作
在这里插入图片描述

优先级队列的实现:

在这里插入图片描述

  • 基本实现:完全二叉堆
    vecto/向量/数组不够,树结构过了:折中结合

在这里插入图片描述
基本思路:通过向量表示一颗完全二叉树即完全二叉树,在完全二叉堆的基础上进而实现优先级队列
物理上没有任何改动所有元素仍然构成线性向量,但逻辑上是个完全二叉树,称为完全二叉堆
在这里插入图片描述

在这里插入图片描述
PQ完全二叉树的堆序性
在完全二叉堆所有节点间定义某种次序:任何节点不超过其父亲

PQ即完全二叉堆的元素插入
在这里插入图片描述

PQ即完全二叉堆的元素删除
删除只发生在堆顶(getMax且max一定在堆顶)
破坏结构性—末元素移至堆顶–修复结构性–破坏堆序性—交换并且可能不断逆父子序则不断下降直到大于两个子节点或者成为叶子节点无孩子—这个过程即下滤

建堆

建堆:给n个元素将其组织成堆

堆排序

物理上一系列线性元素逻辑上可以看作完全二叉树
通过Floyd算法 在线性时间 建立完全二叉堆

在这里插入图片描述

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值