Informatica · Ordinamento
Scambi nella costruzione di un max-heap (variante 5)
Un array [6, 1, 9, 2, 8, 3, 7, 4, 5] viene trasformato in un max-heap con la procedura standard di build-heap (si applica lo sprofondamento/sift-down a partire dall'ultimo nodo con figli, procedendo all'indietro fino alla radice; a ogni nodo si scambia con il figlio maggiore finché non è più piccolo di entrambi i figli o non ha più figli). Interpretando l'array come albero binario compatto (il nodo in posizione i ha figli in posizione 2i+1 e 2i+2), quanti scambi totali vengono effettuati durante tutta la costruzione dell'heap?