Stewdent.eu
▾

Auswahlsortierung

Auswahlsortierung (Selection Sort) findet wiederholt das kleinste Element im unsortierten Teil einer Liste und stellt es an den Anfang. Er ist einfach zu verstehen und führt wenige Tauschoperationen durch.

Zuletzt aktualisiert: 24. Februar 2026

★★☆☆☆ Stufe 2computingalgorithmensortierenselection-sortauswahlsortierung4 Min Lesezeit

Fehler melden

Auswahlsortierung (englisch: Selection Sort) arbeitet nach einem intuitiven Prinzip: Suche das kleinste Element in der Liste und stelle es an den Anfang. Dann suche das kleinste Element im Rest und stelle es an die zweite Stelle — und so weiter.

So funktioniert Auswahlsortierung

Stell dir vor, du sortierst eine Reihe von Karten mit den Zahlen [64, 25, 12, 22, 11]:

  1. Suche das Minimum im gesamten Bereich → 11 (Position 4)
  2. Tausche 11 mit dem ersten Element → [11, 25, 12, 22, 64]
  3. Suche das Minimum im Rest (ab Position 1) → 12 (Position 2)
  4. Tausche 12 mit dem zweiten Element → [11, 12, 25, 22, 64]
  5. Fortfahren...

Schritt-für-Schritt-Übersicht:

DurchlaufListe nach dem TauschSortierter Teil
0[11, 25, 12, 22, 64]1 Element
1[11, 12, 25, 22, 64]2 Elemente
2[11, 12, 22, 25, 64]3 Elemente
3[11, 12, 22, 25, 64]4 Elemente
Fertig[11, 12, 22, 25, 64]5 Elemente

Python-Implementierung

def auswahl_sortierung(elemente):
    n = len(elemente)
    for i in range(n - 1):
        # Index des Minimums im unsortierten Teil finden
        min_index = i
        for j in range(i + 1, n):
            if elemente[j] < elemente[min_index]:
                min_index = j   # neues Minimum gefunden
        
        # Minimum an den Anfang des unsortierten Teils tauschen
        if min_index != i:
            elemente[i], elemente[min_index] = elemente[min_index], elemente[i]
    
    return elemente

zahlen = [64, 25, 12, 22, 11]
print(auswahl_sortierung(zahlen))   # [11, 12, 22, 25, 64]
Hinweis

Auswahlsortierung führt immer genau n - 1 Tauschoperationen durch — eine pro Durchlauf. Das ist ein Vorteil, wenn Tauschoperationen teuer sind. Bubble-Sort kann dagegen viele unnötige Tauschvorgänge durchführen.

Vergleich mit Bubble-Sort

EigenschaftBubble-SortAuswahlsortierung
TauschoperationenViele (bis n²/2)Wenige (genau n-1)
Vergleiche~n²/2~n²/2
ZeitkomplexitätO(n²)O(n²)
Stabil?JaNein
EinfachheitSehr einfachEinfach
Tipp

Ein Sortieralgorithmus gilt als stabil, wenn er gleiche Elemente in ihrer ursprünglichen Reihenfolge belässt. Bubble-Sort ist stabil (tauscht nur, wenn eines größer ist), Auswahlsortierung nicht unbedingt (kann gleiche Elemente umordnen).

Wann eignet sich Auswahlsortierung?

Auswahlsortierung ist nützlich, wenn:

  • Die Liste klein ist (weniger als ~50 Elemente)
  • Tauschoperationen besonders aufwändig sind
  • Einfachheit wichtiger ist als Geschwindigkeit
Warnung

Wie Bubble-Sort hat Auswahlsortierung eine Zeitkomplexität von O(n²) und ist daher für große Datenmengen ungeeignet. In der Praxis nutzt man effizientere Algorithmen wie Mergesort oder Quicksort.

Übungsaufgaben

Wie sieht die Liste [29, 10, 14, 37, 13] nach dem zweiten Durchlauf der Auswahlsortierung aus?

Antwort anzeigen
[10, 13, 29, 37, 14]. Durchlauf 1: Minimum ist 10 → tausche mit Position 0 → [10, 29, 14, 37, 13]. Durchlauf 2: Minimum im Rest ist 13 → tausche mit Position 1 → [10, 13, 14, 37, 29]. Hinweis: Tatsächlich ist nach Durchlauf 2 die Liste [10, 13, 14, 37, 29].

Warum macht Auswahlsortierung immer genau n-1 Tauschoperationen, unabhängig von der Ausgangsreihenfolge?

Antwort anzeigen
In jedem der n-1 Durchläufe wird genau ein Tausch durchgeführt: Das Minimum des unsortierten Teils wird an die richtige Position gesetzt. Da bei n Elementen nach n-1 Tauschen alle außer dem letzten platziert sind (und das letzte automatisch richtig liegt), sind genau n-1 Tausche nötig.