【发布时间】:2020-09-18 19:29:35
【问题描述】:
我一直在阅读有关 minHeap 和 maxHeap 的各种定义。我偶然发现了这样的陈述:
- minHeap 用于降序排序。
- maxHeap 用于升序排序。
取自 https://www.geeksforgeeks.org/heap-sort-for-decreasing-order-using-min-heap/ 中“注释”的语句。
但是当我在 Java 中使用 PriorityQueue<Integer> 和默认比较器实现 minHeap 并 poll() 它时,我得到了最小元素。这是为什么?
感谢任何试图提供帮助的人:)。
【问题讨论】:
-
你从哪里引用?最小堆的想法是有效地访问最小值,重复这样做似乎不会导致升序。
-
@Yunnosch geeksforgeeks.org/heap-sort-for-decreasing-order-using-min-heap ...查看此处的“注释”
-
请edit 在您的问题中直接提供该信息,而不是将其隐藏在 cmets 中。
-
@Yunnosch Done..你知道哪个是正确的吗?
-
我阅读了链接,您似乎正确地引用/总结了。我期待看到一个解释。
标签: java algorithm sorting data-structures heap