i

Entwicklung von Sortieralgorithmen

Einen Datenbestand sortieren

Deine Aufgabe ist es im Folgenden, ein Sortierverfahren zu entwickeln.

Für die Entwicklung von Sortierverfahren spielt die Komplexität der Daten keine zentrale Rolle. Wir gehen daher im Folgenden von einfachen Datenobjekten (hier Zahlen) aus.

Zahlenliste

Wenn ein Mensch diese Zahlen der Größe nach ordnet, dann geht er/sie in der Regel intelligent vor. Auf einen Blick erkennt er/sie bereits Auffälligkeiten und berücksichtigt diese bei der Vorgehensweise.

Ein Computer hat in der Regel keinen Überblick über alle Daten. Er kann zudem (in der Regel) nicht so intelligent wie ein Mensch agieren. Wir werden das jetzt berücksichtigen, indem wir versuchen, mit eingeschränkten Möglichkeiten wie ein Computer vorzugehen.

Version 1 - Gewichte sortieren

Vor dir liegen Gegenstände, die du mit Hilfe der Vergleichswaage sortieren sollst. Du kannst die Gegenstände auf die Waage legen und verleichen und anschließend auch wieder neben/unter der Waage platzieren.

Statt mit einer realen Waage und realen Gegenständen zu arbeiten kannst du auch das Simulationsprogramm Waage.jar oder waage.exe benutzen.

=
A
B
C
D
E
F
G
H
Zwischenablage Gewichte

Aufgabe 1

(a) Sortiere die vorgegebenen Gewichte der Größe nach. Beschreibe die Strategie, die du verwendet hast. Funktioniert die Strategie für beliebige Gewichte? Probiere das aus. Wenn ja, dann beschreibe das Sortierverfahren möglichst präzise.

(b) Entwickle hieraus einen Algorithmus zum Sortieren von Datenobjekten (wie z.B. Zahlen).

Version 2 - Karten sortieren

Wir gehen davon aus, dass eine Folge von Zahlen auf Karteikarten notiert ist - jede Zahl auf einer eigenen Karte. Um die Arbeitsweise eines Computers zu simulieren, legen wir Regeln fest, die beim Sortieren beachtet werden müssen. Zunächst einmal werden alle Karten umgedreht. Der "Sortierer" hat keine Gesamtsicht auf alle Daten.

Folgende Operationen darf der "Sortierer" jetzt ausführen:

Regel 1: Maximal 2 Karten umdrehen:

Zahlenliste

Regel 2: 2 Karten vergleichen und in Abhängigkeit des Ergebnisses weiteragieren:

Zahlenliste

Regel 3: Eine Karte markieren (es dürfen auch mehrere unterscheidbare Marken benutzt weren):

Zahlenliste

Regel 4: Eine Karte an eine andere Stelle verschieben:

Zahlenliste

Regel 5: Karten austauschen (d.h. zwei Karten geeignet verschieben):

Zahlenliste

Weitere sinnvolle Regeln kannst du nach Bedarf einführen.

Aufgabe 1

(a) Versuche, mit den vorgegebenen Operationen die gegebene Datenliste sortiert anzuordnen.

(b) Formuliere das Verfahren, das du zum Sortieren benutzt hast. In einem ersten Schritt kannst du das umgangssprachlich tun. Versuche anschließend, das Verfahren mit einem Struktogramm algorithmisch zu beschreiben.

Suche

v
2.3.2.2
dev.inf-schule.de/algorithmen/standardalgorithmen/sortieren/entwicklung
dev.inf-schule.de/2.3.2.2
dev.inf-schule.de/@/page/wUT9J8yssbfXbGNf

Rückmeldung geben