Altri algoritmi di sorting
Esistono molte altre tipologie di algoritmi di sorting, ognuna con le proprie caratteristiche e prestazioni. Ecco alcune:
- Selection Sort:
Trova il minimo (o il massimo) elemento dall'array non ordinato e lo mette nella sua posizione corretta nell'array ordinato. Ripete questo processo fino a quando l'intero array non è ordinato.
- Insertion Sort:
Costruisce un array ordinato uno alla volta inserendo elementi non ordinati in posizione corretta rispetto agli elementi ordinati. È efficiente per piccoli dataset o per array quasi ordinati.- Merge Sort:
Divide ricorsivamente l'array in due metà, ordina le due metà separatamente e quindi le unisce insieme. È un algoritmo di sorting stabile e ha un tempo di esecuzione garantito di O(n log n).- Quick Sort:
Sceglie un elemento come "pivot" e organizza gli altri elementi intorno a esso in modo che gli elementi più piccoli siano a sinistra e quelli più grandi a destra. Ricorsivamente, ordina le due metà dell'array intorno al pivot. È uno degli algoritmi di sorting più veloci in pratica.- Heap Sort:
Costruisce un heap estraendo ripetutamente l'elemento massimo (per un heap massimo) e ricostruendo l'heap fino a quando l'array non è ordinato.- Counting Sort:
Funziona bene per interi con un intervallo limitato. Conta il numero di occorrenze di ogni valore e ricostruisce l'array ordinato basandosi su queste occorrenze.