优先队的列及其的应用.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
优先队列及其应用 雅礼朱全民 优先队列的基本概念 ■队列:FIFO(按元素进入队列的次序); ■优先队列( Priority Queue):出队列的顺序由元 素的优先级决定,如: 医院中的急诊处理; 操作系统中使用优先队列进行作业调度; 事件驱动模拟处理 优先队列的基本操作 ADT MaxPriorityQueue 【实例 有限的元素集合,每个元素都有一个优先权操作 Create():创建一个空的优先队列 size():返回队列中的元素数目 Max():返回具有最大优先权的元素 nser(x):将X插入队列 DeleteMax(x):从队列中给删除具有最大优先权的元素, 并将该元素返回至X 引例1:机器服务收费 ◆假设我们对机器服务进行收费。 ◆每个用户每次使用机器所付费用都是相同的,但每个用 户所需要服务时间都不同 为获得最大利润,假设只要有用户机器就不会空闲,我 们可以把等待使用该机器的用户组织成一个最小优先队 列,优先权即为用户所需服务时间。当一个新的用户需 要使用机器时,将他她的请求加入优先队列。一旦机器 可用,则为需要最少服务时间(即具有最高优先权)的 用户提供服务 如果每个用户所需时间相同,但用户愿意支付的费用不 同,则可以用支付费用作为优先权,一旦机器可用,所 交费用最多的用户可最先得到服务,这时就要选择最大 优先队列。 引例2工厂仿真 对其事件队列所执行的操作 1)查找最小完成时间的机器 2)改变机器的完成时间 ◆构造构造一个最小优先队列,队列中的元素即为机 器,元素的优先权为该机器的完成时间。 当机器可用,选择优先级最大的任务执行,任务队 列操作: 1)新任务到达,插入最大优先队列 2)一旦机器可以开始运行一个新任务,将具有最大 优先权的任务从该机器的队列中删除,并开始执 行它 ■优先队列的线性表实现 无序顺序表 插入在表的末尾,(1) 删除时先查找优先权最大的元素,(n) 无序链表 插入在链头,则(1) 删除时先查找优先权最大的元素,(n) 有序线性表 插入时间,的(n 删除时间,Q(1)。 优先队列的另一种实现方式—堆(Heap) 一个基本问题 ·写一种数据结构,完成以下3种操作: (操作的总次数不超过100000 ·1、插入一个数 2、询问最小值 3、删除最小值 要求是这3种操作都要快。。。 输入输出 输入 每行一次操作,有如下三种 1x:表示插入X这个数 2:表示询问当前最小值 3:表示删除最小值 输出 对于每个询问最小值操作,输出一行,每 行仅一个数,表示当前的最小值 样例 输入 输出 9次操作 20 10 120 20 30 110 23232 用线性表作为数据结构 ·无序表 插入操作 (1) 询问最小值O(n) 删除最小值O(n) 有序表: 插入操作O(n) 询问最小值O(1) 删除最小值O(1)

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档