数据结构----------------优先队列

Posted lifehrx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构----------------优先队列相关的知识,希望对你有一定的参考价值。

优先队列

主要用于:1.插入 

     2.删除最大元素

基于实现这两项功能,用二叉堆来实现,

分析:

____________MaxPQ<Key>implementsIterator<Key>_______________________

insert()

delMax()                           优先队列的2个主要功能

------------------------------------------------------------------------------------------------

isEmpty()         //判断是否为空

size()     //计算队列中元素的个数(就是数组的length)

max()             //返回最大元素

resize()          //加倍数组长度,必要的时候

------------------------------------------------------------------------------------------------

swim(int k)    //上浮

sink(int k)     //下沉(队列经过插入和删除后二叉树的结构有可能是不不平衡需要用这两个方法调整)

-----------------------------------------------------------------------------------------------

less(int i, int j)     //比较两个元素的大小

exch(int i, int j)    //交换两个元素

-------------------------------------------------------------------------------------------------

isMaxHeap()        //判断基于二叉树实现的堆否平衡

isMaxHeap(int k)

 

以上是关于数据结构----------------优先队列的主要内容,如果未能解决你的问题,请参考以下文章

具有动态项目优先级的优先级队列

优先级队列(堆)

优先级队列(堆)

优先级队列(堆)

优先级队列(堆)

线性表--08---优先队列