Kapitel 6: Sortieralgorithmen Flashcards
Was ist internes sortieren ?
Sortieren von Daten im Hauptspeicher, direkter Zugriff
was ist externes sortieren ?
Sortieren von Dateien auf externen Datenträger, sequentieller Zugriff
Was ist Stabilität ?
Bei gleichen Schlüsseln (Duplikaten) bleibt die Reihenfolge der Objekte erhalten
Was ist natürliches Verhalten ?
Bei bereits (weitgehend) sortierter Ausgangsfolge ist die Ausführungszeit am geringsten.
Was ist Insertion Sort ?
Das 1. Element der umsortieren Teilfolge (index i) anschauen und in sortierte Teilfolge einsetzen (an die richtige Stelle (von rechts nach links geschaut))
Weist Insertion Sort Stabilität auf ?
Ja
Weist Insertion Sort ein natürliches Verhalten auf ?
Ja
Was ist Selection Sort ?
Suche in der unsortierten TF das Minimum und vertausche das Minimum mit dem 1. Platz der unsortierten TF
Weist Selection Sort Stabilität auf ?
Nein
Weist Selection Sort ein natürliches Verhalten auf ?
Nein
Wann ist Selection Sort Empfehlenswert ?
Bei teuren Bewegungen der Daten
Wann ist Insertion Sort Empfehlenswert ?
Bei kleinen Eingabefolgen (n<100)
Was ist BubbleSort ?
Starte am Ende der Folge und vertausche benachbarte Elemente. Die jeweils kleineren Elemente steigen nach oben bzw. vorne im Array und das Minimum der unsortierten Teilfolge bis zur 1. Position der Unsortierten Teilfolge.
Weist BubbleSort Stabilität auf ?
Ja
Weist BubbleSort ein natürliches Verhalten auf ?
Bei den Vergleichen nicht, bei den Bewegungen schon.
Insertion Sort Aufwand Vergleiche
Vmin = O(n) Vavg = O(n^2/4) VMax = O(n^2/2)
Selection Sort Aufwand Vergleiche
Vmin = O(n^2/2) Vavg = O(n^2/2) VMax = O(n^2/2)
Bubble Sort Aufwand Vergleiche
Vmin = O(n^2/2) Vavg = O(n^2/2) VMax = O(n^2/2)
Insertion Sort Aufwand Bewegungen
Bmin = O(3n) Bavg = O(n^2/4) Bax = O(n^2/2)
Selection Sort Aufwand Bewegungen
Bmin = O(3n) Bavg = O(3n) Bax = O(3n)
Bubble Sort Aufwand Bewegungen
Bmin = 0 Bavg = O(3n^2/4) Bax = O(3n^2/2)
Was ist Shell Sort ?
Mit einem (anfangs größtmöglichen) gap werden die Elemente verglichen. Gap wird anschließend immer halbiert (Insertion Sort)
Was wendet Shell Sort auch noch an ?
Insertion Sort
Weist Shell Sort Stabilität auf ?
Nein