队列算法

5次阅读

共计 459 个字符,预计需要花费 2 分钟才能阅读完成。

1. 优先队列算法

mysql 的排序如果 limit 比拟小的话会应用优先队列算法。如果 limit 比拟大采纳的是归并排序算法。
实现:

public class PriorityQueue<E> {
    private BinaryHeap<E> heap;
    
    public PriorityQueue(Comparator<E> comparator) {heap = new BinaryHeap<>(comparator);
    }
    
    public PriorityQueue() {this(null);
    }
    
    public int size() {return heap.size();
    }

    public boolean isEmpty() {return heap.isEmpty();
    }
    
    public void clear() {heap.clear();
    }

    public void enQueue(E element) {heap.add(element);
    }

    public E deQueue() {return heap.remove();
    }

    public E front() {return heap.get();
    }
}
正文完
 0