Description: | The Heap collection of modules provide routines that manage a heap of
elements. A heap is a partially sorted structure that is always able to
easily extract the smallest of the elements in the structure (or the
largest if a reversed compare routine is provided).
If the collection of elements is changing dynamically, the heap has less
overhead than keeping the collection fully sorted.
The elements must be objects as described in "Heap::Elem" and all
elements inserted into one heap must be mutually compatible - either
the same class exactly or else classes that differ only in ways unrelated
to the Heap::Elem interface. |