Sia '''<math>U'''</math> un insieme di elementi e '''<math>P'''</math> un insieme totalmente ordinato.
Un Heap di elementi appartenenti ad '''<math>U'''</math> è un elemento di '''<math>U^*'''</math> che supporta le operazioni di:
*'''Inserimento''': nello heap <math>H</math> si inserisce l'elemento e con priorità <var>p</var>; dopo l'inserimento lo heap mantiene la proprietà di heap.
*'''Rimozione''': nello heap <math>H</math> si rimuove di massima priorita'priorità. Dopo la rimozione lo heap mantiene la proprieta'proprietà di heap