Un algoritmo di ordinamento è un metodo per riorganizzare un numero elevato di elementi in un ordine specifico, ad esempio alfabetico, dal valore più alto al più basso o dalla distanza dal più breve al più lungo. Gli algoritmi di ordinamento prendono elenchi di elementi come dati di input, eseguono operazioni specifiche su tali elenchi e forniscono array ordinati come output. Le numerose applicazioni degli algoritmi di ordinamento includono l'organizzazione degli articoli in base al prezzo su un sito Web di vendita al dettaglio e la determinazione dell'ordine dei siti su una pagina dei risultati di un motore di ricerca (SERP).
Alcuni esempi di algoritmi di ordinamento:
- L'algoritmo di ordinamento delle bolle procede ripetutamente nell'elenco, confrontando coppie di elementi adiacenti e scambiando le loro posizioni se sono nell'ordine sbagliato. L'algoritmo passa attraverso l'elenco in questo modo finché l'intero elenco non è stato ordinato.
- L'algoritmo di ordinamento per inserzione inizia mettendo in ordine i primi due elementi, quindi confronta il terzo elemento con il secondo, scambiando le posizioni se necessario e ripete l'azione con il primo elemento. Gli elementi successivi sottoposti allo stesso processo spesso non devono essere spostati lontano tra gli elementi ordinati.
- L'algoritmo di ordinamento Shell confronta e ordina gli elementi a intervalli, diminuendo la dimensione dell'intervallo a ogni passaggio nell'elenco. I passaggi finali sono una sorta di bolla, ma è molto più veloce perché gli oggetti sono già più vicini alle posizioni desiderate.
- L'algoritmo quicksort seleziona un elemento casuale nell'elenco, confronta tutti gli altri elementi e li organizza in quelli che appartengono prima dell'elemento selezionato e quelli che appartengono dopo di esso. Ciò significa che nessuno degli elementi deve essere confrontato nuovamente con quelli dell'altro gruppo. Il metodo procede selezionando elementi casuali all'interno di questi due gruppi di elementi e ripetendo il processo. Alla fine, un altro metodo come l'algoritmo di inserimento esegue l'ordinamento finale.
Questa presentazione TED-ED confronta gli algoritmi di ordinamento: