Estratto del documento

Algoritmo di ordinamento per fusione (MergeSort)

Presentiamo ora un algoritmo di ordinamento "per fusione" (MergeSort) che vedremo avere prestazioni migliori di quelle dell’ordinamento per selezione. Dovendo ordinare questo array, lo dividiamo in due parti (circa) uguali.

Fasi dell'ordinamento per fusione

  • Dividiamo l'array in due parti (circa) uguali.
  • Ordiniamo ciascuna delle due parti, separatamente.
  • Uniamo le due parti ora ordinate in una fase chiamata fusione (merge).

Questa ultima fase si chiama fusione. Ora è facile costruire l'array ordinato, prendendo sempre il primo elemento da uno dei due sotto-array, scegliendo il più piccolo.

Situazione particolare

C'è una situazione in cui le due parti sono sicuramente ordinate: quando contengono un solo elemento.

MergeSort: Algoritmo ricorsivo

Si delinea quindi un algoritmo ricorsivo per ordinare un array, chiamato MergeSort:

Caso base

Se l’array contiene meno di due elementi, è già ordinato.

Passi da seguire

  • Si divide l’array in due parti (circa) uguali.
  • Si ordina la prima parte usando MergeSort.
  • Si ordina la seconda parte usando MergeSort.
  • Si fondono le due parti ordinate usando l’algoritmo di fusione (merge).
Anteprima
Vedrai una selezione di 1 pagina su 1
Informatica I - ordinamento per fusione MergeSort Pag. 1
1 su 1
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher enricopava di informazioni apprese con la frequenza delle lezioni di Informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Padova o del prof Avanzini Federico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community