标签: java heap heapsort
我想知道是否存在使用堆排序方法的优先级列表的Java本机实现。如果没有,是否有任何推荐的替代方案?
答案 0 :(得分:1)
PriorityQueue的javadoc说:
“基于优先级堆的无界优先级队列。”
源代码PriorityQueue(Java 6以后)有这样的评论:
“优先级队列表示为平衡二进制堆...”
从技术上讲,这不是Heapsort。但是,标准的Heapsort算法不适用于优先级队列:它是非增量的(O(NlogN))。 PriorityQueue做的是增量(每个队列插入O(logN))。
PriorityQueue
有关详细信息,请阅读源代码。评论很好。