【发布时间】:2014-08-13 20:48:39
【问题描述】:
这可能是一个非常幼稚的问题或没有意义。但我真的对优先队列的实现感到困惑。 为什么我们不能使用以键为优先级、以值作为具有该优先级的数据的哈希图。 我在这里缺少一些基本的东西吗? 例如: 如果 A 的优先级为 1,B 为 3,c 为 4 我们可以简单地将 1,3,4 作为键,A,B,C 作为 hashmap 的值,分别用于优先级队列实现。 请清除我的逻辑
【问题讨论】:
-
因为
HashMaps 没有被排序,所以你需要一些其他方法来确定什么是“下一个”。 -
请注意,PQ 的可能实现是使用 BST。那不过是一个排序的映射(
SortedMap在 java 中)。这里的排序顺序对于 PQ 的规范是必不可少的。 -
如果其中一个答案对您有所帮助,请接受它作为正确答案。
标签: java hashmap priority-queue