Zum Hauptinhalt springen

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

    ↩