Definition: A complete tree where every node has a key more extreme (greater or less) than or equal to the key of its parent. Usually understood to be a binary heap.
Generalization (I am a kind of ...)
Specialization (... is a kind of me.)
binary heap, k-ary heap, binomial heap, Fibonacci heap.
Aggregate parent (I am a part of or used in ...)
heapsort, priority queue.
Aggregate child (... is a part of or used in me.)
Note: Speaking about operating systems, "heap" refers to memory from which chunks can be allocated.
B-heaps allocate subtrees to a single page for better virtual memory performance.
J. W. J. Williams, Algorithm 232 Heapsort, CACM, 7(6):378-348, June 1964.
If you have suggestions, corrections, or comments, please get in touch with Paul Black.
Entry modified 14 December 2010.
HTML page formatted Fri Feb 23 10:06:07 2018.
Cite this as:
Chris L. Kuszmaul, "heap", in Dictionary of Algorithms and Data Structures [online], Vreda Pieterse and Paul E. Black, eds. 14 December 2010. (accessed TODAY) Available from: https://www.nist.gov/dads/HTML/heap.html