<aside> ℹ️
Un heap binario è una struttura dati composta da un array che può essere considerato come un albero binario quasi completo

</aside>
length[A]heap-size[A]A[1]i →
parent[i] = i/2left[i] = 2iright[i] = 2i + 1<aside> ℹ️
Max-heap: in un max-heap ogni nodo i diverso dalla radice è tale che:
A[parent[i]] >= A[i]
u contiene nodi il cui valore non è mai maggiore del valore del nodo u
</aside><aside> ℹ️
Min-heap: in un min-heap ogni nodo i diverso dalla radice è tale che:
A[parent[i]] <= A[i]
u contiene nodi il cui valore non è mai minore del valore del nodo u
</aside>Operazioni:
Insert(S,x) → Inserisce x nell’insieme SMinimum(S) → restituisce l’elemento di S con chiave minimaExtract-Min(S) → elimina e restituisce l’elemento di S con chiave minimaDecrease-Key(S,x,k) → decrementa il valore della chiave di x al nuovo valore k (qui assumiamo k <= dell’attuale valore della chiave di x)Operazioni:
Insert(S,x) → Inserisce x nell’insieme SMaximum(S) → restituisce l’elemento di S con chiave più grande