L’algoritmo di ordinamento a bolle (Bubble Sort).

Gli algoritmi più famosi
PageRank, Algoritmo di PageRank, Gli algoritmi più famosi, Algoritmo di ordinamento rapido, Algoritmo di Dijkstra, Algoritmo di RSA, Algoritmo di ricerca binaria, Algoritmo di backpropagation, Algoritmo di clustering k-means, Algoritmo di ordinamento a bolle (Bubble Sort),

di Sergio Mauri

L’algoritmo di ordinamento a bolle (Bubble Sort) è uno degli algoritmi di ordinamento più semplici e intuitivi. Funziona confrontando ripetutamente coppie di elementi adiacenti e scambiandoli se sono nell’ordine sbagliato. L’algoritmo continua a passare attraverso la lista fino a quando non viene eseguito un passaggio senza effettuare alcuno scambio, indicando che la lista è stata ordinata. Ecco la sua formulazione:

  1. Iterazione attraverso l’array: l’algoritmo passa attraverso l’array di elementi dall’inizio alla fine.
  2. Confronto e scambio: per ogni coppia di elementi adiacenti, l’algoritmo confronta l’elemento corrente con il successivo. Se l’elemento corrente è maggiore dell’elemento successivo (nel caso di un ordinamento crescente), allora avviene uno scambio tra di loro.
  3. Passaggio attraverso l’array: l’algoritmo continua a passare attraverso l’array fino a quando non viene completato un passaggio senza effettuare alcuno scambio. Questo indica che l’array è stato ordinato con successo e l’algoritmo può terminare.

Ecco una rappresentazione della formula dell’algoritmo di Bubble Sort:

Per ogni i che va da 0 a lunghezza dell’array – 1:
Per ogni j che va da 0 a lunghezza dell’array – i – 1:
Se array[j] > array[j+1]:
Scambia(array[j], array[j+1])

Dove array è l’array da ordinare e Scambia(a, b) è una funzione che scambia gli elementi a e b.

La complessità dell’algoritmo di Bubble Sort è O(n^2) nel caso peggiore e medio, dove n è la dimensione dell’array da ordinare. Questo lo rende inefficace per grandi insiemi di dati, ma può essere utile per piccoli insiemi o come esempio didattico per capire il concetto di ordinamento.

Sergio Mauri
Autore Sergio Mauri Blogger. Premio speciale al Concorso Claudia Ruggeri nel 2007; terzo posto al Premio Igor Slavich nel 2020. Ha pubblicato con Terra d’Ulivi nel 2007 e nel 2011, con Hammerle Editori nel 2013 e 2014 e con Historica Edizioni e Alcova Letteraria nel 2022 e Silele Edizioni (La Tela Nera) nel 2023.
** Se puoi sostenere il mio lavoro, comprami un libro **