Min-max heap operations for any type that implements heap.Interface. A min-max heap can be used to implement a double-ended priority queue.
Min-max heap implementation from the 1986 paper "Min-Max Heaps and Generalized Priority Queues" by Atkinson et. al. https://doi.org/10.1145/6617.6621.
| Operation | min-max heap | heap |
|---|---|---|
| Init | O(n) | O(n) |
| Push | O(log n) | O(log n) |
| Pop | O(log n) | O(log n) |
| PopMax | O(log n) | O(n) |
| Fix | O(log n) | O(log n) |