Jahrgangsstufe Q1 - Informatik - Dienstag, der 02. Februar 2021


Sortieren

Das Sortieren von Daten nach bestimmten Kriterien gehört zu den wichtigsten Problemen der Informatik. Bei großen Datenmengen ist es ungemein wichtig, dass effiziente Algorithmen zur Verfügung stehen.
Die verschiedenen in der Geschichte der Informatik entwickelten Algorithmen haben alle ihre Vor- und Nachteile, je nach dem, auf welche Daten man sie loslässt. So kann bei einem bestimmten Datenbestand der "schlechteste" Algorithmus am schnellsten mit der Arbeit fertig sein.
Zu Beginn werden wir einfachere Algorithmen behandeln und daran studieren, was "Effizienz eines Sortieralgorithmus" bedeutet.

Aufgabe 1: Lege so ca. 10 Karten eines Kartenspiels gemischt und verdeckt nebeneinander auf den Tisch. Du darfst jetzt immer nur gleichzeitig zwei Karten aufdecken und vergleichen, d.h. nur genau so, wie es ein Computer machen kann. Es dürfen niemals mehr als zwei Karten gleichzeitig auf dem Tisch sichtbar sein.
Durch eine bestimmte Strategie sollen die Karten in eine aufsteigend sortierte Reihenfolge gebracht werden.
Schreibe die Idee für Dein Vorgehen zumindest in Stichworten auf, sodass man es nachvollziehen kann.

Aufgabe 2: Sieh dir das Video an, in dem ein bestimmter Sortier-Algorithmus auf einem Feld getanzt wird. Es gibt auch eine Youtube-Link

Aufgabe 3: Lade Dir die Datei SortierenBubbleBeispiel.zip herunter, entpacke sie und starte BlueJ. Es sind dieselben Zahlen wie im Tanz eingegeben. Teste das Programm. Teste das Programm auch so, dass nach jedem Tauschvorgang das Feld in der aktuellen Version angezeigt wird (in der Methode vertausche() müssen die Kommentar-Slashes entfernt werden).
Analysiere den Algorithmus und versuche, die Vorgänge nachvollziehen zu können.