Hyper Dictionary

English Dictionary Computer Dictionary Video Dictionary Thesaurus Dream Dictionary Medical Dictionary

Search Dictionary:  

Meaning of HEAP

Pronunciation:  heep

Computing Dictionary

1. An area of memory used for dynamic memory allocation where blocks of memory are allocated and freed in an arbitrary order and the pattern of allocation and size of blocks is not known until run time. Typically, a program has one heap which it may use for several different purposes.

Heap is required by languages in which functions can return arbitrary data structures or functions with free variables (see closure). In c functions malloc and free provide access to the heap.

Contrast stack. See also dangling pointer.

2. A data structure with its elements partially ordered (sorted) such that finding either the minimum or the maximum (but not both) of the elements is computationally inexpensive (independent of the number of elements), while both adding a new item and finding each subsequent smallest/largest element can be done in O(log n) time, where n is the number of elements.

Formally, a heap is a binary tree with a key in each node, such that all the leaves of the tree are on two adjacent levels; all leaves on the lowest level occur to the left and all levels, except possibly the lowest, are filled; and the key in the root is at least as large as the keys in its children (if any), and the left and right subtrees (if they exist) are again heaps.

Note that the last condition assumes that the goal is finding the minimum quickly.

Heaps are often implemented as one-dimensional arrays. Still assuming that the goal is finding the minimum quickly the invariant is

   heap[i] <= heap[2*i] and heap[i] <= heap[2*i+1] for all i,

where heap[i] denotes the i-th element, heap[1] being the first. Heaps can be used to implement priority queues or in sort algorithms.

Thesaurus Terms
 Related Terms: abundance, accord, accumulate, accumulation, administer, afford, agglomeration, aggregate, aggregation, allot, allow, amass, amassment, amount, anthill, army, assemble, auto, autocar, automobile, award, backlog, bag, bank, bank up, barrel, batch, bestow, bestow on, boat, bottle, box, budget, buggy, bunch, burden, bus, can, car, charge, choke, chunk, clump, cluster, clutch, cock, cohue, collect, collection, commissariat, commissary, communicate, confer, congeries, conglomeration, considerable, cord, cornucopia, count, crate, crowd, crush, cumulate, cumulation, deal, deal out, deluge, deposit, dish out, dispense, dog, dole, dole out, donate, dose, drift, dump, dune, embankment, extend, fill, flock, flood, fork out, freight, galaxy, garner, garner up, gather, gather into barns, gathering, gift, gift with, give, give cheerfully, give freely, give out, glean, gob, gobs, good deal, grant, great deal, group, hand out, harvest, haycock, haymow, hayrick, haystack, heap up, heap upon, heaps, help to, hide, hill, hoard, hoard up, hold, horde, host, hunk, impart, inventory, issue, jalopy, jam, jillion, keep, lade, larder, large amount, lashings, lavish, lavish upon, lay up, legion, let have, load, loads, lot, lots, lumber, lump, machine, mass, material, materials, materiel, measure, mess, mete, mete out, million, mint, mob, molehill, motor, motor vehicle, motorcar, motorized vehicle, mound, mountain, mow, much, multitude, munitions, not hold back, number, offer, oodles, open the purse, pack, pack away, panoply, parcel, part, peck, pile, pile up, piles, plenitude, plenty, plethora, pocket, portion, pot, pots, pour, power, present, press, proffer, provide, provisionment, provisions, put up, pyramid, quantities, quantity, quite a little, rabble, raft, rafts, rain, ration, rations, reap, render, repertoire, repertory, rick, rout, ruck, sack, save, save up, scads, scores, sea, secrete, serve, set aside, shell out, ship, shock, shower, shower down upon, sight, slew, slews, slip, small amount, snow, snowdrift, spare no expense, spare nothing, spate, squirrel, squirrel away, stack, stack up, stacks, stash, stock, stock up, stock-in-trade, stockpile, store, store up, stores, stow, sum, superabundance, supplies, supply, supply on hand, tender, thousand, throng, tidy sum, tons, treasure, treasure up, treasury, trillion, tub, voiture, vouchsafe, wad, wads, wheels, whole slew, wreck, yield