Zum Hauptinhalt springen
24ef

Algorithmen

Ziel

Die Zahlen sollen von links nach rechts sortiert werden.

Material

1 Grundplatte, 1 Schiebevorrichtung, 7 Zahlenchips 1

Selection Sort

Startaufstellung:

Das Feld ganz links wird markiert und nach oben in den temporären Speicher gelegt:

2. Schritt: Selection

Jede Zahl überprüfen: falls die Zahl kleiner ist als die Zahl im Zwischenspeicher, wird die aktuelle Zahl im Zwischenspeicher nach unten auf ihren Platz und die kleinere Zahl nach oben in den Zwischenspeicher gelegt:

2. Schritt: Tauschen

Die erste Zahl wird (sofern vorhanden) in die leere Position verschoben:

und die markierte Zahl wird ins leere Feld verschoben:

3. Schritt: Schieben

Die Schieblehre wird um eine Position nach rechts geschoben:

... weiter mit Schritt 1 bis keine Zahl mehr übrig ist

Nächste Runde

Pseudocode

Listen (Felder) werden in eckigen Klammern geschrieben, im Unterschied zu Python beginnen die Indizes bei 1.

A = [1, 2, 3]
// A[1] => 1

Selection Sort

Selection-Sort(A)
for j = 1 to A.länge - 1
schlüssel = A[j]
index = j
// tausche A[j] mit dem tiefsten Wert der
// unsortierten Sequenz A[j..A.länge]
i = j + 1
while i <= A.länge
if A[i] < A[index]
index = i
i = i + 1
A[j] = A[index]
A[index] = schlüssel

Insertion Sort

Insertion-Sort(A)
for j = 2 to A.länge
schlüssel = A[j]
// füge A[j] in die sortierte Sequenz A[1..j-1] ein
i = j - 1
while i > 0 and A[i] > schlüssel
A[i+1] = A[i]
i = i - 1
A[i+1] = schlüssel

Footnotes

  1. Druckvorlage: apaik5@printables.com