如果存在大量的插入操作,哪个优先级队列的实现会有效?

时间:2017-04-14 04:33:31

标签: java

假设您的应用程序将有大量的插入操作,但是 只有少数删除最大操作。哪个优先级队列实现呢 你认为最有效:堆,无序数组还是有序数组?

任何人都可以用一个例子解释一下吗?

1 个答案:

答案 0 :(得分:0)

类似的问题你见过http://gateoverflow.in/65570/gatebook-exam 优先级队列有四种实现方式:对于您的情况,无序优先。

|Structure          | Insertion | Extract-max|
|----------         |---------- |------------|
|Unordered list     |   O(1)    |   O(n)     |
|Ordered list       |   O(n)    |   O(1)     |
|Binary Search Tree |  O(logn)  |   O(logn)  |
|Heap               |  O(logn)  |   O(logn)  |
----------------------------------------------