In its elementary form, a priority queue is a data structure that stores a collection of elements and supports the operations construct, minimum, insert, and extract-min [4]. In applications where this set of operations is sufficient, the priority queue that the users would select is a binary heap [29] or a weak heap [7]. Both of these data structures are known to perform well, and in typical cases the difference in performance is marginal. Most library implementations are based on a binary heap. However, one reason why a user might vote for a weak heap over a binary heap is that weak heaps are known to perform less element comparisons in the worst case: Comparing binary heaps vs. weak heaps for construct we have 2n vs. n − 1 and for extract-min we have 2 lg n vs. lg n