Einführung in Bubble Sort in Java

Die Blasensortierung ist einer der am häufigsten verwendeten Algorithmen zum Sortieren von Daten in Java. Die Sortierung erfolgt hier durch rekursives Vergleichen der benachbarten Zahlen und Verschieben in aufsteigender oder absteigender Reihenfolge, je nach Bedarf. Diese Verschiebung der Elemente erfolgt, bis alle Ziffern vollständig in der erforderlichen Reihenfolge sortiert sind.

Der Name "Bubble Sort" dieses Algorithmus ist, weil die Elemente eines Arrays zum Anfang des Arrays sprudeln. Lassen Sie uns den Algorithmus der Blasensortierung anhand eines Beispiels verstehen.

Beispiel: Betrachten Sie ein Array von Zahlen (6 1 8 5 3), die in aufsteigender Reihenfolge angeordnet werden müssen.

Der Blasensortierungsalgorithmus arbeitet in mehreren Iterationen, bis alle Zahlen sortiert sind.

Iterationen

Nachfolgend sind die in Bubble Sort in Java durchgeführten Iterationen aufgeführt:

Erste Iteration

(6 1 8 5 3) - Es beginnt mit dem Vergleich der ersten beiden Zahlen und verschiebt die kleinere der beiden Zahlen nach rechts. Daher ist zwischen 6 und 1 1 die kleinere Zahl nach links und 6 nach rechts verschoben.

(1 6 8 5 3) - Anschließend werden die beiden benachbarten Zahlen verglichen, indem eine Position nach rechts verschoben wird. Hier ist Nummer 6 kleiner als 8 und daher wird die gleiche Reihenfolge beibehalten.

(1 6 8 5 3) - Wiederum durch Verschieben um eine Position nach rechts findet ein Vergleich zwischen 8 und 5 statt. Nummer 5 wird nach links verschoben, da sie kleiner als 8 ist.

(1 6 5 8 3) - Hier findet der Vergleich zwischen den Nummern 8 und 3 statt. Nummer 3 wird nach links verschoben, da sie kleiner als 8 ist.

(1 6 5 3 8) - Dies ist das Endergebnis der Bestellung nach der ersten Iteration.

Zweite Iteration

Da die Zahlen noch nicht vollständig in aufsteigender Reihenfolge sind, wird das Programm für die zweite Iteration verwendet.

(1 6 5 3 8) - Hier beginnt der Vergleich erneut mit den ersten beiden Ziffern des Ergebnisses der ersten Iteration. Es vergleicht die Zahlen 1 und 6 und behält die gleiche Reihenfolge bei, da 1 kleiner als 6 ist.

(1 6 5 3 8) - Hier werden die Nummern 5 und 6 verglichen. Die gleiche Reihenfolge wird beibehalten, wie sie bereits in der erforderlichen aufsteigenden Reihenfolge vorliegt.

(1 5 6 3 8) - Hier findet ein Vergleich zwischen den Nummern 6 und 3 statt. Nummer 3 wird nach links verschoben, da sie kleiner als 6 ist.

(1 5 3 6 8) - Die nächsten Nummern 6 und 8 werden miteinander verglichen. Die gleiche Reihenfolge wird beibehalten wie in einer erwarteten Reihenfolge.

(1 5 3 6 8) - Dies ist das Endergebnis nach der zweiten Iteration. Wir können jedoch feststellen, dass die Ziffern nicht vollständig in aufsteigender Reihenfolge angeordnet sind. Dennoch müssen wir die Nummern 5 und 3 austauschen, um das Endergebnis zu erhalten. Daher geht das Programm für die dritte Iteration.

Dritte Iteration

(1 5 3 6 8) - Die dritte Iteration beginnt mit dem Vergleich der ersten beiden Ziffern 1 und 5. Da die Reihenfolge wie erwartet ist, wird sie beibehalten.

(1 5 3 6 8) - Als nächstes werden die benachbarten Zahlen 3 und 5 verglichen. Da 5 größer als 3 ist, wird es nach rechts verschoben.

(1 3 5 6 8) - Die Iteration fährt fort, um die Nummern 5 und 6, 6 und 8 zu vergleichen. Da sie in der erforderlichen Reihenfolge vorliegt, behält sie die Reihenfolge bei.

(1 3 5 6 8) - Schließlich wird die Iteration angehalten, während das Programm jedes benachbarte Element vergleicht und feststellt, dass sich alle Ziffern in aufsteigender Reihenfolge befinden.

Da hier nur 5 Elemente eines Arrays sortiert werden mussten, dauerte es insgesamt nur 3 Iterationen. Wenn die Elemente im Array zunehmen, nimmt auch die Anzahl der Iterationen zu.

Implementierung der Blasensortierung mit Java

Im Folgenden finden Sie den Java-Code, der die Implementierung des Bubble-Sortieralgorithmus darstellt. (Beachten Sie, dass die erste Position eines Arrays in Java bei 0 beginnt und in Schritten von 1 fortgesetzt wird, dh Array (0), Array (1), Array (2) und so weiter.)

Code:

import java.util.Scanner;
public class BubbleSort (
static void bubbleSort(int() arraytest) (
int n = arraytest.length; //length of the array is initialized to the integer n
int temp = 0; //A temporary variable called temp is declared as an integer and initialized to 0
for(int i=0; i < n; i++)( // first for loop performs multiple iterations
for(int j=1; j < (ni); j++)(
if(arraytest(j-1) > arraytest(j))( // if loop compares the adjacent numbers
// swaps the numbers
temp = arraytest(j-1); // assigns the greater number to temp variable
arraytest(j-1) = arraytest(j); // shifts the lesser number to the previous position
arraytest(j) = temp; // bigger number is then assigned to the right hand side
)
)
)
)
public static void main(String() args) (
int arraytest() =(23, 16, 3, 42, 75, 536, 61); // defining the values of array
System.out.println("Array Before Doing Bubble Sort");
for(int i=0; i < arraytest.length; i++)( // for loop used to print the values of array
System.out.print(arraytest(i) + " ");
)
System.out.println();
bubbleSort(arraytest); // array elements are sorted using bubble sort function
System.out.println("Array After Doing Bubble Sort");
for(int i=0; i < arraytest.length; i++)(
System.out.print(arraytest(i) + " "); // for loop to print output values from array
)
)
)

Ausgabe:

Vor- und Nachteile von Bubble Sort in Java

Nachfolgend sind die verschiedenen Vor- und Nachteile der Bubble-Sortierung in Java aufgeführt:

Vorteile

  1. Der Code ist sehr einfach zu schreiben und zu verstehen. Normalerweise dauert es nur ein paar Minuten.
  2. Die Implementierung ist ebenfalls sehr einfach.
  3. Die Blasensortierung sortiert die Zahlen und speichert sie im Speicher, wodurch viel Speicherplatz gespart wird.

Nachteile

  1. Dieser Algorithmus ist nicht für große Datenmengen geeignet, da der Vergleich viel Zeit in Anspruch nimmt. Die Zeit, die zum Sortieren der eingegebenen Zahlen benötigt wird, nimmt exponentiell zu.
  2. O (n 2) ist die durchschnittliche Komplexität der Blasensortierung und O (n) ist die Komplexität des besten Falls (der beste Fall ist, wenn die Elemente an erster Stelle sortiert werden), wobei n die Anzahl der Elemente ist.

Echtzeit-Anwendungen

Da die Blasensortierung winzige Fehler beim Sortieren erkennen kann, wird sie in der Computergrafik verwendet. Es wird auch im Algorithmus zum Füllen von Polygonen verwendet, bei dem die Eckpunkte des Polygons sortiert werden müssen.

Fazit

In diesem Artikel haben wir gesehen, wie der Bubble-Sortieralgorithmus funktioniert und wie er mithilfe der Java-Programmierung implementiert werden kann. Die Blasensortierung ist ein sehr stabiler Algorithmus, der leicht für vergleichsweise kleine Datensätze implementiert werden kann. Es handelt sich um einen Vergleichsalgorithmus, der aufgrund seiner Einfachheit von Anfängern verwendet wird.

Empfohlene Artikel

Dies ist eine Anleitung zu Bubble Sort in Java. Hier diskutieren wir mehrere Iterationen, um die Blasensortierung in Java und deren Codeimplementierung zusammen mit Vor- und Nachteilen durchzuführen. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Blasensortierung in JavaScript
  2. Sortierung in R
  3. 3D-Arrays in Java
  4. Arrays in C #
  5. Blasensortierung in Python