Zum Hauptinhalt springen

Einfaches Sortieren verstehen

Selection Sort (Idee)

  1. Finde das kleinste Element
  2. Tausche es an den Anfang
  3. Wiederhole mit dem Rest
def selection_sort(liste):
daten = liste.copy()
n = len(daten)
for i in range(n):
min_i = i
for j in range(i + 1, n):
if daten[j] < daten[min_i]:
min_i = j
daten[i], daten[min_i] = daten[min_i], daten[i]
return daten

print(selection_sort([5, 2, 9, 1]))

Praxis

In echten Projekten: sorted(...) – aber verstehen, was Sortieren tut, macht dich schlauer.

Rate mal!

Warum copy?

Auflösung

Damit die Original-Liste nicht zerstört wird (je nach Design).

Probiere es selbst

Experiment 1

Algorithmus an kleiner Liste per Hand nachvollziehen.

Experiment 2

Code laufen lassen.

Experiment 3

Mit sorted vergleichen.

Übungen

Level 1

Erkläre die 3 Schritte.

Level 2

Sortiere [4,1,3] von Hand auf Papier.

Level 3

Zähle innere Vergleiche grob bei n=4.

Level-1-Lösung

Minimum im Rest finden, nach vorn tauschen, Rest fortsetzen.

Mini-Quiz

Mini-QuizWas sucht Selection Sort in jedem Schritt?

Sort-Idee sitzt! Als Nächstes: Algorithmen vergleichen.