Come implementare l'algoritmo di ordinamento a bolle in Java: esempio di ordine crescente e decrescente

Pubblicato: 2019-01-19
Come implementare l'algoritmo di ordinamento a bolle in Java - Esempio di ordine crescente e decrescente

Bubble sort , a volte erroneamente indicato come sinking sort , è un semplice algoritmo di ordinamento che funziona scorrendo ripetutamente l'elenco da ordinare, confrontando ogni coppia di elementi adiacenti e scambiandoli se sono nell'ordine sbagliato.

Il passaggio attraverso l'elenco viene ripetuto finché non sono necessari scambi, il che indica che l'elenco è ordinato. L'algoritmo prende il nome dal modo in cui gli elementi più piccoli bubble in cima all'elenco.

Poiché utilizza solo i confronti per operare sugli elementi, è un ordinamento di confronto. Sebbene l'algoritmo sia semplice, la maggior parte degli altri algoritmi di ordinamento sono più efficienti per elenchi di grandi dimensioni.

La logica è semplice:

In bubble sort, fondamentalmente attraversiamo l'arraylist dalla prima alla posizione (dimensione – 1) e confrontiamo l'elemento con quello successivo. Scambia elemento con l'elemento successivo solo se l'elemento successivo è maggiore.

Ecco un codice Java:

  • Crea file CrunchifyBubbleSort.java .

Risultato console Eclipse:

Basta eseguire sopra il programma java Bubble Sort nella console Eclipse o IntelliJ IDE e dovresti vedere il risultato come di seguito.

Che cos'è una complessità temporale dell'algoritmo di ordinamento a bolle?

  • Se consideri lo scenario Best case , allora sarebbe O(n)
  • Se consideri lo scenario Worst case , sarebbe O(n 2 )

Fammi sapere se hai problemi o eccezioni in esecuzione sopra il programma.