bubble sort java java sorting algorithms code examples
In diesem Tutorial werden die Blasensortierung in Java sowie die wichtigsten Java-Sortieralgorithmen, die Implementierung der Blasensortierung und Codebeispiele erläutert:
Ein Sortieralgorithmus kann als Algorithmus oder Prozedur definiert werden, um Elemente einer Sammlung in eine bestimmte Reihenfolge zu bringen. Wenn Sie beispielsweise eine numerische Sammlung wie eine ArrayList von Ganzzahlen haben, möchten Sie die Elemente von ArrayList möglicherweise in aufsteigender oder absteigender Reihenfolge anordnen.
In ähnlicher Weise möchten Sie möglicherweise Zeichenfolgen einer Zeichenfolgensammlung in alphabetischer oder lexikografischer Reihenfolge anordnen. Hier kommen die Sortieralgorithmen in Java ins Spiel.
Top 10 Personalagenturen der Welt
Was du lernen wirst:
Wichtige Sortieralgorithmen in Java
Sortieralgorithmen werden normalerweise in Abhängigkeit von der zeitlichen und räumlichen Komplexität bewertet. Java unterstützt verschiedene Sortieralgorithmen, mit denen die Sammlungen oder Datenstrukturen sortiert oder angeordnet werden.
Die folgende Tabelle zeigt die wichtigsten in Java unterstützten Sortieralgorithmen sowie deren Best- / Worst-Case-Komplexität.
Zeitliche Komplexität | ||||
---|---|---|---|---|
Radix Sort | Linearer Sortieralgorithmus. | O (nk) | O (nk) | O (nk) |
Sortieralgorithmus | Beschreibung | I'm besten fall | Schlimmsten Fall | Durchschnittlicher Fall |
Blasensortierung | Vergleicht das aktuelle Element wiederholt mit benachbarten Elementen. Am Ende jeder Iteration wird das schwerste Element an der richtigen Stelle gesprudelt. | Auf) | O (n ^ 2) | O (n ^ 2) |
Sortieren durch Einfügen | Fügt jedes Element der Sammlung an der richtigen Stelle ein. | Auf) | O (n ^ 2) | O (n ^ 2) |
Zusammenführen, sortieren | Es folgt dem Divide and Conquer-Ansatz. Teilt die Sammlung in einfachere Untersammlungen auf, sortiert sie und führt dann alles zusammen | O (nlogn) | O (nlogn) | O (nlogn) |
Schnelle Sorte | Effizienteste und optimierte Sortiertechnik. Verwendet Teilen und Erobern, um die Sammlung zu sortieren. | O (nlogn) | O (n ^ 2) | O (nlogn) |
Auswahl Sortieren | Findet das kleinste Element in der Sammlung und platziert es am Ende jeder Iteration an der richtigen Stelle | O (N ^ 2) | O (N ^ 2) | O (N ^ 2) |
Heap Sort | Die Elemente werden nach Min-Heap oder Max-Heap sortiert. | O (nlogn) | O (nlogn) | O (nlogn) |
Neben den in der obigen Tabelle angegebenen Sortiertechniken unterstützt Java auch die folgenden Sortiertechniken:
- Eimersortierung
- Sortierung zählen
- Shell Sort
- Kamm sortieren
Diese Techniken werden jedoch in praktischen Anwendungen nur sparsam eingesetzt, sodass diese Techniken nicht Teil dieser Reihe sind.
Lassen Sie uns die Blasensortiertechnik in Java diskutieren.
Blasensortierung in Java
Die Blasensortierung ist die einfachste aller Sortiertechniken in Java. Diese Technik sortiert die Sammlung, indem zwei benachbarte Elemente wiederholt verglichen und ausgetauscht werden, wenn sie nicht in der gewünschten Reihenfolge vorliegen. Somit wird am Ende der Iteration das schwerste Element gesprudelt, um seine rechtmäßige Position zu beanspruchen.
Wenn die Liste A n Elemente enthält, die durch A (0), A (1), A (2), A (3), ... A (n-1) gegeben sind, wird A (0) mit A (1) verglichen ), A (1) wird mit A (2) verglichen und so weiter. Nach dem Vergleich, ob das erste Element größer als das zweite ist, werden die beiden Elemente vertauscht, wenn sie nicht in Ordnung sind.
Blasensortierungsalgorithmus
Der allgemeine Algorithmus für die Blasensortiertechnik ist unten angegeben:
Schritt 1: Für i = 0 bis N-1 wiederholen Sie Schritt 2
Schritt 2: Für J = i + 1 bis N - wiederhole ich
Schritt 3: wenn A (J)> A (i)
Tauschen Sie A (J) und A (i)
(Ende der inneren for-Schleife)
(End if Outer for loop)
Schritt 4: Ausgang
Lassen Sie uns nun die Blasensortiertechnik anhand eines anschaulichen Beispiels demonstrieren.
Wir nehmen ein Array der Größe 5 und veranschaulichen den Blasensortierungsalgorithmus.
Sortieren eines Arrays mithilfe der Blasensortierung
Die folgende Liste ist zu sortieren.
jms interview Fragen und Antworten für erfahrene
Wie Sie oben sehen können, ist das Array vollständig sortiert.
Die obige Abbildung kann in tabellarischer Form wie folgt zusammengefasst werden:
Bestehen | Unsortierte Liste | Vergleich | Sortierte Liste |
---|---|---|---|
{3,6,11,4,15} | {11.4} | {3,6,4,11,15} | |
ein | {11, 3, 6,15,4} | {11.3} | {3,11,6,15,4} |
{3,11,6,15,4} | {11.6} | {3,6,11,15,4} | |
{3,6,11,15,4} | {11.15} | {3,6,11,15,4} | |
{3,6,11,15,4} | {15.4} | {3,6,11,4,15} | |
zwei | {3,6,11,4,15} | {3,6} | {3,6,11,4,15} |
{3,6,11,4,15} | {6.11} | {3,6,11,4,15} | |
3 | {3,6,4,11,15} | {3,6} | {3,6,4,11,15} |
{3,6,4,11,15} | {6.4} | {3,4,6,11,15} | |
{3,4,6,11,15} | SORTIERT |
Wie im obigen Beispiel gezeigt, sprudelt das größte Element bei jeder Iteration / jedem Durchgang an seine richtige Position. Wenn wir N-1 erreichen (wobei N die Gesamtzahl der Elemente in der Liste ist), vergehen wir im Allgemeinen. Wir werden die gesamte Liste sortieren lassen.
Beispiel für einen Blasensortierungscode
Das folgende Programm zeigt die Java-Implementierung des Blasensortierungsalgorithmus. Hier pflegen wir ein Array von Zahlen und verwenden zwei for-Schleifen, um benachbarte Elemente des Arrays zu durchlaufen. Wenn zwei benachbarte Elemente nicht in Ordnung sind, werden sie vertauscht.
import java.util.*; class Main{ // Driver method to test above public static void main(String args()) { //declare an array of integers int intArray() = {23,43,13,65,11,62,76,83,9,71,84,34,96,80}; //print original array System.out.println('Original array: ' + Arrays.toString(intArray)); int n = intArray.length; //iterate over the array comparing adjacent elements for (int i = 0; i intArray(j+1)) { int temp = intArray(j); intArray(j) = intArray(j+1); intArray(j+1) = temp; } //print the sorted array System.out.println('Sorted array: ' + Arrays.toString(intArray)); } }
Ausgabe:
Ursprüngliches Array: (23, 43, 13, 65, 11, 62, 76, 83, 9, 71, 84, 34, 96, 80)
Sortiertes Array: (9, 11, 13, 23, 34, 43, 62, 65, 71, 76, 80, 83, 84, 96)
Häufig gestellte Fragen
F # 1) Was sind die Sortieralgorithmen in Java?
Antworten: Der Sortieralgorithmus kann als ein Algorithmus oder eine Prozedur definiert werden, mit der die Elemente in einer Sammlung in einer gewünschten Weise angeordnet oder angeordnet werden können.
Im Folgenden sind einige der in Java unterstützten Sortieralgorithmen aufgeführt:
- Blasensortierung
- Sortieren durch Einfügen
- Auswahl sortieren
- Zusammenführen, sortieren
- Schnelle Sorte
- Radix sort
- Heapsort
Q # 2) Was ist der beste Sortieralgorithmus in Java?
Antworten: Merge Sort soll der schnellste Sortieralgorithmus in Java sein. Tatsächlich hat Java 7 intern die Zusammenführungssortierung verwendet, um die Collections.sort () -Methode zu implementieren. Quick Sort ist auch ein weiterer bester Sortieralgorithmus.
Q # 3) Was ist Bubble-Sortierung in Java?
Antworten: Die Blasensortierung ist der einfachste Algorithmus in Java. Die Blasensortierung vergleicht immer zwei benachbarte Elemente in der Liste und tauscht sie aus, wenn sie nicht in der gewünschten Reihenfolge vorliegen. Somit wird am Ende jeder Iteration oder jedes Durchgangs das schwerste Element an seinen richtigen Platz gesprudelt.
Q # 4) Warum ist Bubble Sorte N.zwei?
Antworten: Für die Implementierung der Blasensortierung verwenden wir zwei for-Schleifen.
So öffnen Sie JAR-Dateien unter Windows 10
Die insgesamt geleistete Arbeit wird gemessen an:
Arbeitsaufwand der inneren Schleife * Gesamtanzahl der Ausführung der äußeren Schleife.
Für eine Liste von n Elementen arbeitet die innere Schleife für O (n) für jede Iteration. Die äußere Schleife läuft für die O (n) -Iteration. Daher ist die insgesamt geleistete Arbeit O (n) * O (n) = O (nzwei)
Q # 15) Was sind die Vorteile der Blasensorte?
Antwort: Die Vorteile der Blasensortierung sind folgende:
- Einfach zu codieren und zu verstehen.
- Zur Implementierung des Algorithmus sind nur wenige Codezeilen erforderlich.
- Die Sortierung erfolgt an Ort und Stelle, d. H. Es ist kein zusätzlicher Speicher erforderlich und somit kein Speicheraufwand.
- Die sortierten Daten stehen sofort zur Verarbeitung zur Verfügung.
Fazit
Bisher haben wir den Bubble Sort-Sortieralgorithmus in Java diskutiert. Wir haben auch den Algorithmus und die detaillierte Darstellung des Sortierens eines Arrays mithilfe der Blasensortiertechnik untersucht. Dann haben wir das Java-Programm in die Bubble Sort implementiert.
Im nächsten Tutorial werden wir mit den anderen Sortiertechniken in Java fortfahren.
=> Überprüfen Sie ALLE Java-Tutorials hier.
Literatur-Empfehlungen
- Auswahlsortierung in Java - Auswahlsortierungsalgorithmus und Beispiele
- Einfügungssortierung in Java - Einfügungssortierungsalgorithmus und Beispiele
- Blasensortierung in C ++ mit Beispielen
- So sortieren Sie ein Array in Java - Tutorial mit Beispielen
- Java Array Length Tutorial mit Codebeispielen
- MongoDB Sort () -Methode mit Beispielen
- Unix-Sortierbefehl mit Syntax, Optionen und Beispielen
- Java 'this' Schlüsselwort: Tutorial mit Codebeispielen