java有堆数据结构吗?
我正在大学学习数据结构和算法,我在教科书中遇到了霍夫曼代码。我尝试在 Visual Studio 代码上运行代码,但收到堆数据结构的错误消息。消息是:
堆无法解析为类型
代码如下:
Heap<Tree> heap = new Heap<>(); // Defined in Listing 24.10
我还尝试将堆更改为优先级队列,但随后 getSize() 方法显示错误。
回答
是的,有java.util.PriorityQueue
例子:
Queue<T> heap = new PriorityQueue()
默认情况下这将是最小堆,如果你想要最大堆尝试
Queue<T> heap = new PriorityQueue(Collections.reverseOrder())