Addressable heap
Appearance
In computer science, an Addressable heap is an abstract data type, which is a mergeable heap supporting access to the elements of the heap via handles (also called references), and allows to remove, or decrease the key of the element referenced by the handle.
Definition
An addressable heap supports the following operations[1]:
Make-Heap()
, creating an empty heap.Insert(H,x)
, inserting an elementx
into the heapH
, and returning a handle to it.Min(H)
, returning a handle to the minimum element, orNil
if no such element exists.Extract-Min(H)
, extracting and returning a handle to the minimum element, orNil
if no such element exists.Remove(h)
, removing the element referenced byh
(from its respective heap).Decrease-Key(h,k)
, decreasing the key of the element referenced byh
to
k
; illegal ifk
is larger than the key referenced byh
.Merge(H1,H2)
, combining the elements ofH1
andH2
.
Examples
Examples of addressable heaps include:
A more complete list with performance comparisons can be found here.
References
- ^ Kurt Mehlborn and Peter Sanders. Algorithms and Data Structures -- The Basic Toolbox. 2008. Springer-Verlag. Berlin, Heidelberg, Germany. ISBN: 978-3-540-77977-3.