共计 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();
}
}
正文完