(data structure)
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 ...)
complete tree.
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.)
heap property.
Note: Speaking about operating systems, "heap" refers to memory from which chunks can be allocated.
Author: CLK
B-heaps allocate subtrees to a single page for better virtual memory performance.
An illustration of a heap followed by how it is used in heap sort.
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 6 April 2023.
HTML page formatted Fri Apr 7 09:27:46 2023.
Cite this as:
Chris L. Kuszmaul, "heap", in
Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed. 6 April 2023. (accessed TODAY)
Available from: https://www.nist.gov/dads/HTML/heap.html