What Is The Disambiguation of The Word “heap” in I.T.?

Problem scenario
You have read about heaps in computer programming and in operating systems. What do the different definitions of "heap" mean in I.T.?

Merriam-Webster's Dictionary (11th Edition, on page 574) defines a heap as "a collection of things thrown one on another" or as a "pile." The same word can have completely different meanings in English; a trash heap, a heap in computer programming, a heap in the context of operating systems, and a heap in databases are a few types of "heaps". Their definitions are completely independent of one another.

Possible Solution #1 (for computer programming)
A heap is an abstract data structure that is a binary tree with the maximum value as the root. To learn more see https://www.educative.io/edpresso/what-is-a-heap

Cracking the Coding Interview says a heap is a complete binary tree that has nodes that are ordered (page 103). If a tree (a data structure) has the heap property it is said to be a heap.

Possible Solution #2 (for operating systems)
An allocation of memory. To learn more, see https://www.geeksforgeeks.org/stack-vs-heap-memory-allocation/ The heap is a segment of a process's memory; it is "an area from which programs can dynamically allocate extra memory." (The source of this quote is page 31 of The Linux Programming Interface.)

To learn more about the disambiguation, see this link: https://techterms.com/definition/heap

Possible Solution #3 (for relational/SQL databases)
"A heap is a table without a clustered index." (Taken from Microsoft.)

"A heap-table stores the rows in an unordered fashion." (Taken from use-the-index-luke.com.)

Leave a comment

Your email address will not be published. Required fields are marked *