Selection Sort

Beginner Algorithmen und Datenstrukturen Deutsch
Also available: English
Created by Best · 16.08.2026 at 09:13 UTC

Selection Sort sucht im unsortierten Bereich das Minimum und tauscht es an die nächste Position. Nach i Schritten sind die ersten i Positionen final.

Immer $\Theta(n^{2})$ Vergleiche, wenige Vertauschungen (höchstens n).

Diagram

Bibliothekssortierung zum Vergleich: Sort an Array [1].

Wo gebraucht

Nur Lehr- und Mikro-Fälle. Zeigt Auswahl-Idee; in Produktion durch bibliothekssortierer ersetzen.

Vertiefung

Selection Sort teilt das Array in einen sortierten Präfix und einen noch ungeordneten Rest. In Runde i wird im Rest ein kleinstes Element gesucht und an Position i gebracht. Danach enthält der Präfix genau die i plus eins kleinsten Werte, wenn Mehrfachwerte mitgezählt werden.

Die Suche nach dem Minimum betrachtet den verbleibenden Bereich unabhängig davon, wie vorsortiert die Eingabe ist. Die Zahl tatsächlicher Austauschoperationen bleibt dagegen an die Zahl der Runden gebunden und kann entfallen, wenn das Minimum bereits vorne liegt.

Schwierigkeitsstufen

  1. Eine Runde mit Minimumindex und anschliessendem Tausch ausführen.
  2. Die Präfixinvariante zur Korrektheit formulieren.
  3. Vergleichs- und Schreibkosten getrennt beurteilen.

Fallstricke

Der gefundene Wert allein genügt nicht, weil für den Tausch sein Index benötigt wird. Bei mehrfachen Minima beeinflusst die Wahl des Vorkommens ausserdem die relative Ordnung gleicher Schlüssel.


Sources

University approvals: 0
Tasks
Question 1

Wie viele Vertauschungen macht Selection Sort höchstens?

Question 2

Welche Aussage folgt aus der Invariante nach Abschluss von Runde i?

Question 3

Implementiere Selection Sort aufsteigend und verändere das Array direkt.

Hint

Arraylänge und Elementzugriff heissen a.length und a[i]. Für einen Tausch ist eine lokale int-Variable ausreichend.

Starter code is prefilled; replace TODO blocks with your solution.
1 test case will be used for grading
Run checks runtime behavior only. Final correctness is evaluated when you submit.
Card Info
  • Topic: Algorithmen und Datenstrukturen
  • Difficulty: Beginner
  • Completed: 0 users
Creator
Best
Best
BestBuddy