数据结构笔记总结(7.6)基于堆的优先队列

基于堆的优先队列


之前我们已经实现了最大堆,对于优先队列其底层可以使用最大堆来实现,通过最大堆这种数据结构的底层去实现优先队列是及其容易的,近乎所有接口都可以直接复用来完成优先队列这种数据结构。

代码演示

我们复用队列的接口,创建一个新的class,叫做PriorityQueue

public class PriorityQueue> implements Queue {

    private MaxHeap maxHeap;

    public PriorityQueue(){
        maxHeap = new MaxHeap<>();
    }

    @Override
    public int getSize(){
        return maxHeap.size();
    }

    @Override
    public boolean isEmpty(){
        return maxHeap.isEmpty();
    }

    @Override
    public E getFront(){
        return maxHeap.findMax();
    }

    @Override
    public void enqueue(E e){
        maxHeap.add(e);
    }

    @Override
    public E dequeue(){
        return maxHeap.extractMax();
    }
}

源码下载

[dm href=’https://www.jikewenku.com/product/1487.html’]下载地址[/dm]

导航目录

[dm href=’https://www.jikewenku.com/geeknote/2241.html’]查看导航[/dm]

本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » 数据结构笔记总结(7.6)基于堆的优先队列

Leave a Reply

欢迎加入「极客文库」,成为原创作者从这里开始!

立即加入 了解更多