NIST

heap

(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

Implementation

Bro. David Carlson's heaps and heapsort tutorial and code (C++).

More information

J. W. J. Williams, Algorithm 232 Heapsort, CACM, 7(6):378-348, June 1964.


Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul E. Black.

Entry modified 21 August 2006.
HTML page formatted Mon Sep 11 10:07:28 2006.

Cite this as:
Chris L. Kuszmaul, "heap", in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed., U.S. National Institute of Standards and Technology. 21 August 2006. (accessed TODAY) Available from: http://www.nist.gov/dads/HTML/heap.html

to NIST home page