- 1、本文档共87页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NK数据结构09
数据结构与程序设计
南开大学软件学院
2002-2003李耀国
1
Chapter 9 Priority Queues
?9.1 Introduction
?9.2 Linear Lists
?9.3 Heaps
?9.4 Leftist Trees
?9.5 Application
2
Chapter 9 Priority Queues
? 与第6章FIFO结构的队列不同,优先队列中
元素出队列的顺序由元素的优先级决定。从
优先队列中删除元素是根据优先权高或低的
次序,而不是元素进入队列的次序。
? 可以利用堆数据结构来高效地实现优先队
列。堆是一棵完全二叉树,可用公式化描述
方法来高效存储完全二叉树。在高度和重量
上取得平衡的左高树很适合于用来实现优先
队列。本章的内容涵盖了堆和左高树。
3
Chapter 9 Priority Queues
? 在本章的应用部分,利用堆开发了一种复杂
性为O(nlogn)的排序算法,称为堆排序。第
3章介绍的箱子排序和基数排序算法的运行时
间为Θ(n),但算法中元素的取值必须在合适
的范围内。堆排序是迄今为止所讨论的第一
2
种复杂性优于O(n )的通用排序算法。
? 从渐进复杂性的观点来看,堆排序是一种优
化的排序算法,因为可以证明,任何通用的
排序算法都是通过成对比较元素来获得Ω
(nlogn)复杂性的。
4
Chapter 9 Priority Queues
? 本节所考察的另外两个应用是机器调度和生
成霍夫曼编码。机器调度问题属于NP-复杂问
题,对于这类问题不存在具有多项式时间复
杂性的算法。而第2章提到的大量事实表明,
只有具有多项式时间复杂性的算法才是可行
的,因此,经常利用近似算法或启发式算法
来解决NP-完全问题,这些算法能在合理的时
间内完成,但并不能保证找到最佳结果。对
于机器调度应用,利用堆数据结构获得了有
效解决机器调度问题的近似算法。
5
9.1 Introduction
? 优先队列(priority queue)是0个或多个元素的集合,每
个元素都有一个优先权或值,对优先队列执行的操作有
1)查找;
2)插入一个新元素;
3)删除。
? 在最小优先队列(min priority queue)中,查找操作用来
有哪些信誉好的足球投注网站优先权最小的元素,删除操作用来删除该元素;对于最
大优先队列(max priority queue),查找操作用来有哪些信誉好的足球投注网站优
先权最大的元素,删除操作用来删除该元素。
? 优先权队列中的元素可以有相同的优先权,查找与删除操作
可根据任意优先权进行。
6
9.1 Introduction
? ADT9-1最大优先队列的抽象数据类型描述
抽象数据类型MaxPriorityQueue{
实例
有限的元素
文档评论(0)