Einfaches Sortieren verstehen
Selection Sort (Idee)
- Finde das kleinste Element
- Tausche es an den Anfang
- 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
Sort-Idee sitzt! Als Nächstes: Algorithmen vergleichen.