Un ordinamento a bolle, o ordinamento affondante, è un algoritmo che ordina gli elenchi lavorando all’interno dell’elenco per scambiare e confrontare gli elementi. Il processo può essere eseguito più volte prima che un elenco sia nell’ordine corretto. Il tipo prende il nome dai piccoli elementi che salgono continuamente in cima alla lista come le bolle in un drink. È usato più spesso per mettere ordine in piccole liste.
L’ordinamento a bolle funziona in modo metodico, partendo dalla parte superiore dell’elenco. Inizierà confrontando il primo elemento con il secondo e li cambierà se necessario. Quindi continuerà nell’elenco e farà di nuovo uno scambio quando trova qualcosa fuori servizio. Ogni volta che l’algoritmo effettua uno scambio, il processo verrà riavviato dall’alto o dal basso dell’elenco.
Gli ordinamenti a bolle provengono dal gruppo di confronto degli algoritmi di ordinamento. Questo tipo di algoritmo lavora due elementi alla volta, determinando coppia per coppia quale dei due valori è maggiore o se sono uguali. Questo tipo di ordinamento può fornire una visione limitata di un set di dati, ma può anche rendere più semplice l’ottimizzazione degli elementi di quel set. Altri tipi di algoritmi nel gruppo di confronto includono gli ordinamenti rapidi, unione, cocktail e cicli.
Si ritiene che un altro semplice algoritmo di ordinamento per confronto chiamato punto di inserimento funzioni in modo più efficiente, pur essendo costruito su un concetto altrettanto semplice. Invece di riordinare gli articoli dall’alto, vengono inseriti nell’ordine corretto l’uno rispetto all’altro fino a quando l’intero set non viene ordinato correttamente. In molti casi, questo tipo è arrivato a sostituire il bubble sort sia nei curricula educativi che nell’uso comune.
Sebbene l’algoritmo di ordinamento a bolle sia facile da usare e da capire, tende ad essere pratico solo per piccoli elenchi. La velocità e l’efficienza diminuiscono con l’aumento del numero di voci nella lista. Molti programmatori trovano anche difficile utilizzare questo metodo relativamente vecchio con i sistemi informatici più recenti poiché è stato creato prima che esistessero queste macchine più efficienti.
Esistono alcuni metodi che possono essere utilizzati per aumentare l’efficienza del bubble sort. Il più efficace sembra essere un metodo in cui l’algoritmo funziona in modo più fluido se gli elementi più grandi dell’elenco vengono inseriti all’inizio del processo. Avendo questa base in posizione, possono essere necessari molti meno passaggi per completare l’ordinazione del resto dell’elenco. Questo metodo di ordinamento può essere scritto nel codice dell’algoritmo.