
1. Egy nagy, dinamikus tárterület, amelyet a program végrehajtásakor létrehozott adatok felhasználhatnak. A halom nem keverhető össze egy köteggel, amelynek memóriaelosztása előre meghatározott a LIFO sorrendben.
2. Speciális adatszerkezet, amely mind részlegesen rendezve, mind a fa alapján, hogy minden szülő csomópont nagyobb, mint a gyermekeké. A halom egy teljes fa, mert minden szint kitöltött (balról jobbra), mielőtt egy csomópontot hozzáadnánk a következő szinthez.
Programozási feltételek, Stack