En haug lagrer data i et s.k. tre. Ethvert element E er koblet til «barn», som skal ha en verdi lik eller mindre enn E. Dette sikrer at roten i treet vil være det største i datamengden, og at tar O(1) tid. blant de N som ligger i haugen, tar derimot O(N) tid, da det ikke er klart hvor i haugen nye element legges. En haug kan også brukes til det motsatte, der hvert element E peker til barn som er høyere enn seg E. Altså vil roten da være det minste i mengden. De fleste programmeringsspråk har ferdige hjelpemidler for å ta i bruk haug.