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

Java 如果有大量的插入操作,哪个优先级队列的实现会有效?,java,Java,假设您的应用程序将有大量的插入操作,但是 只有少数删除最大操作。您需要哪个优先级队列实现 您认为最有效的方法是:堆、无序数组还是有序数组 有人能举例说明吗?你见过类似的问题。 优先级队列有四种实现:对于您的案例,最好是未排序的 |Structure | Insertion | Extract-max| |---------- |---------- |------------| |Unordered list | O(1) | O(n)

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


有人能举例说明吗?

你见过类似的问题。
优先级队列有四种实现:对于您的案例,最好是未排序的

|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)  |
----------------------------------------------

是否或回答了您的问题?@DylanVanderBerg,来自PQ实现,使用堆、无序数组或有序数组。当我们的应用程序中有大量插入操作和少量删除操作时,这种方法更有效。请尝试阅读此文章。无序数组如何实现优先级队列?而
java.util.PriorityQueue
而不是任何一种数组又有什么错呢?@user7790438这个问题仅来自于那篇文章,请参阅练习题11。