Sortieralgorithmen Flashcards
Welche Sortieralgorithmen gibt es
Insertion Sort, Selection Sort, Bubble Sort, Quick Sort
Wie geht der Insertion Sort vor
- Grenze wird festgelegt (links davon sortiert, rechts unsortiert)
- erstes unsortiertes Element mit sortiertem Feld vergleichen
- Lücke an richtiger Stelle erschaffen (durch Rechtsverschiebung der Elemente)
- Einfügen des Elements
- Schritte 1 bis 4 wiederholen
Abbruchbedingung Insertion Sort
Grenze am Ende des Feldes
Wo ist die Grenze beim Beginn des Insertion Sort
zwischen ersten und zweiten Feldelement
Wie geht der Selection Sort vor
- Grenze wird festgelegt (links davon sortiert, rechts unsortiert)
- kleinster Wert des unsortierten Feldes wird gesucht
- Tausch vom ersten unsortierten Element und dem kleinsten unsortierten Element
- Schritte 1 bis 3 wiederholen
Abbruchbedingung Selection Sort
Grenze zwischen letzen und vorletzen Feldelement
Wo ist die Grenze beim Beginn des Selection Sort
vor dem ersten Feldelement
Wie geht der Bubble Sort vor
- erstes Paar des Feldes vergleichen
- wenn Paar nicht sortiert, dann tauschen
- nächstes Paar anschaue
- Schritte 2 und 3 wiederholen
- wenn das letzte Paar verglichen wurde und im Verlauf ein Paar getauscht wurde, dann Schritte 1 bis 4 wiederholen
Abbruchbedingung Bubble Sort
Durchlauf des Feldes ohne getauschtes Paar
Wie geht der Quick Sort vor
- Pivot-Element wird festgelegt (Wert des mittleren Feldelements, nicht Index)
- Grenzen des linken Feldes werden festgelegt
- grenzen des rechten Feldes werden festgelegt
- Element im linken Feld suchen, das größer als das PE ist (oder das PE selbst)
- Element im rechten Feld suchen, das kleiner als das PE ist (oder das PE selbst)
- wenn nicht zwei Mal das PE gefunden wurde, diese beiden Elemente tauschen
- wenn die Teilfelder durchlaufen sind, jedes Teilfeld mit dem Algorithmus behandeln (Schritte 1 bis 6 wiederholen)
Abbruchbedingung Quick Sort
Wenn jedes Teilfeld (und Teilfeld des Teilfeldes…) den Algorithmus durchlaufen hat und sortiert wurde (keine weiteren rekursive Aufrufe)
Wo wird das Pivot-Element des Quick Sort bei Feld ohne genaue Mitte angesetzt
es wird die linke der “beiden Mitten” genommen (da die int-Variable der Mitte die Nachkommazahlen fallen lässt)
Was ist das besondere am Vorgehen des Quick Sort
rekursive Aufrufe (Problemlösung durch Aufrufen des eigenen Algorithmus mit einem einfacheren Problem bis eine Basisfall eintrifft)