gpt4 book ai didi

Java:有没有办法使用 PriorityQueue 从 O(n) 的数组构造最大堆?

转载 作者:行者123 更新时间:2023-11-30 08:03:21 25 4
gpt4 key购买 nike

如果我错了,请纠正我,但我认为 PriorityQueue(Collection c) 构造函数会在 O(n) 时间内从集合创建一个最小堆。但是,我找不到可以传递集合和比较器的构造函数(以便将最小堆转换为最大堆)。所以我想知道是否有一种方法可以使用 PriorityQueue 在 O(n) 中从数组(例如 int 数组)构造最大堆?

最佳答案

不,将一组元素排列在最小堆中并不能为将它们重新排列为最大堆提供任何优势。另外,您似乎假设接受集合的 PriorityQueue 构造函数具有 O(n) 渐近复杂度。这是有道理的——甚至有可能——但它没有记录在案,所以依赖它是不安全的。

关于Java:有没有办法使用 PriorityQueue 从 O(n) 的数组构造最大堆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31548879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com