【恋上数据结构与算法】优先级队列 PriorityQueue


持续学习&持续更新中…


【恋上数据结构与算法】优先级队列 PriorityQueue

    • 优先级队列 PriorityQueue
    • 应用场景举例
    • 优先级队列的底层实现
    • 实现
    • 参考

优先级队列 PriorityQueue

【恋上数据结构与算法】优先级队列 PriorityQueue_第1张图片

应用场景举例

【恋上数据结构与算法】优先级队列 PriorityQueue_第2张图片

优先级队列的底层实现

【恋上数据结构与算法】优先级队列 PriorityQueue_第3张图片

实现

public class PriorityQueue<E> implements Queue<E> {

    private BinaryHeap<E> maxHeap;

    public PriorityQueue() {
        this(null);
    }

    public PriorityQueue(Comparator<E> comparator) {
        maxHeap = new BinaryHeap<>(comparator);
    }

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

    @Override
    public void clear() {
        maxHeap.clear();
    }

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

    @Override
    public void enQueue(E element) {
        maxHeap.add(element);
    }

    @Override
    public E deQueue() {
        return maxHeap.remove();
    }

    @Override
    public E front() {
        return maxHeap.get();
    }

}

参考

小码哥李明杰老师课程: 恋上数据结构与算法 第一季.


本文完,感谢您的关注支持!


你可能感兴趣的:(数据结构与算法,数据结构)