2012-05-15 40 views

回答

0

如果你看一下文檔中的第一行,你會看到:

An unbounded priority queue based on a priority heap. 

不能使用優先級堆有效地找到一個元素的索引。它只知道第一個,當你彈出它然後重新計算新的第一個等。

2

PriorityQueue不支持索引。您可以自己將一個整數索引關聯到每個項目。

+0

是的,看看代碼:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14 /java/util/PriorityQueue.java#PriorityQueue – roottraveller

3

普林斯頓有一個索引優先級隊列。

http://algs4.cs.princeton.edu/code/javadoc/IndexMinPQ.html

的核心思想是建立項目及其優先級隊列位置之間的兩個指數圖。

當您更新優先隊列時,還需要更新這兩個索引圖。

希望這能解決你的問題:-)

相關問題