gomila
Hrpa je struktura podataka koju čine "čvorovi" koji sadrže vrijednosti. Tipična gomila ima korijen čvor na vrhu koji može imati dva ili više podređenih čvorova neposredno ispod njega. Svaki čvor može imati dva ili više podređenih čvorova, što znači da hrpa postaje šira sa svakim podređenim čvorom. Kad se vizualno prikazuje, hrpa izgleda poput naopakog stabla, a opći oblik je hrpa.
Iako svaki čvor u hrpi može imati dva ili više podređenih čvorova (zvanih i "djeca"), većina hrpa ograničava svaki čvor na dvoje djece. Takve se gomile također nazivaju binarni gomile i mogu se koristiti za pohranu razvrstanih podataka. Na primjer, "binarna maksimalna hrpa" pohranjuje najveću vrijednost u korijenskom čvoru. Druga i treća najviša vrijednost pohranjene su u podređenim čvorovima korijenskog čvora. Kroz stablo svaki čvor ima veću vrijednost od bilo kojeg od njegovih podređenih čvorova. Suprotno je "binarnoj hrpi min", gdje korijenski čvor pohranjuje najmanju vrijednost, a svaki čvor ima nižu vrijednost od svojih podređenih.
U računalnoj znanosti hrpe se često crtaju kao jednostavni dijagrami. Međutim, zapravo je pohranjivanje podataka u hrpu složenije. Da bi stvorili hrpu, programeri moraju pisati pojedinačno algoritmi za umetanje i brisanje datum. Vrijednosti umetnute u hrpu obično se pohranjuju u poredak, na koji se može pozvati a program. Budući da su podaci u hrpi već sortirani, pružaju učinkovito sredstvo pretraživanja određenih vrijednosti.
NAPOMENA: "Hrpa" je također programski pojam koji se može koristiti za opisivanje dinamički dodijeljenih memorija. Ovom bloku memorije može se pristupiti aktivno aplikacije. Budući da se memorija u hrpi dodjeljuje dinamički, ona može rasti ili se smanjivati, ovisno o tome koliko se memorije koristi.