答案 0 :(得分:6)
答案 1 :(得分:2)
答案 2 :(得分:1)
答案 3 :(得分:1)
答案 4 :(得分:0)
答案 5 :(得分:0)
维基百科有一个解决方案 -
http://en.wikipedia.org/wiki/Priority_queue#Naive_implementations
对于O(1)插入,将元素添加到当前位置,并在O(n)中出列,根据优先级执行搜索。
对于O(n)插入,首先根据优先级执行搜索并添加元素,并在O(1)中出列,只需从开头或从第0个位置删除元素...
此示例中的代码可以帮助您更清楚地理解。
http://www.java-forums.org/java-lang/7449-how-implement-priority-queue-java.html
在上面的例子中,出队取O(1),插入取O(n)