Bubblesort
Inhaltsverzeichnis Allgemeines Aufbau Prinzip Beispiel
Einleitung Einfacher, stabiler Sortieralgorithmus Nicht für große Datenmengen geeignet Meist nur in der Lehre angewendet -> zu lange Laufzeit
Allgemeines Elemente werden in „Bubbles“ vertauscht Die größeren bzw. kleineren Elemente steigen wie Blasen im Wasser auf
Aufbau Bubble-Phase -> Phase in der die einzelnen Elemente „untersucht“ und mit einander verglichen werden, endet wenn die Eingabe-Liste einmal durchlaufen wurde und beginnt dann wieder von neuem Eingabe-Liste -> Liste der Elemente Eingabe-Liste wird in der Bubble-Phase von links nach rechts durchlaufen
Prinzip Aktuelles Element wird mit rechtem Nachbarn verglichen Elemente werden vertauscht wenn Sortierverfahren verletzt wird Am Ende jeder Bubble-Phase mindestens ein weiteres Element am endgültigen Platz Das letzte (rechte) Element des vorherigen Durchlaufs muss beim nächsten Durchlauf nicht mehr beachtet werden Bubble-Phasen werden wiederholt bis kein Element das Sortierverfahren verletzt
Analyse Schlimmster Fall ◦ Liste ist umgekehrt sortiert ◦ Schlechtmöglichste Laufzeit: ◦ pro Durchlauf kann nur ein Element bewegt werden Bester Fall ◦ Liste ist bereits sortiert -> Laufzeit: ◦ Elemente nah an den endgültigen Stellen -> bessere Laufzeit als Durchschnittlicher Fall ◦ Allgemeine Laufzeit:
Hasen und Schildkröten Große Elemente am Anfang bewegen sich relativ schnell nach hinten -> Hasen Kleine Elemente am Ende bewegen sich relativ langsam nach vorne -> Schildkröten
Beispiel Elemente sollen aufsteigend sortiert werden Durchlauf eine Zahl ist auf ihrem endgültigen Platz
Beispiel Jeweils das Ergebnis einer Bubble-Phase Die schwarzen Kästchen (Bubbles) sind an ihren endgültigen Plätzen.
Ähnliche Sortierverfahren Cocktailsort: geht die Liste abwechselnd von links bzw. rechts durch -> kleine, langsame Elemente werden verhindert Combsort: vergleicht auch Elemente die weiter auseinander liegen -> kleine, langsame Elemente werden verhindert
Quelle java.php t tricks/algorithmen/sortieren/bubblesort/