假设您的应用程序将有大量的插入操作,但是 只有少数删除最大操作。哪个优先级队列实现呢 你认为最有效:堆,无序数组还是有序数组?
任何人都可以用一个例子解释一下吗?
答案 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) |
----------------------------------------------