OSA Baden-Württemberg
BW Quadrat Logo
× Die Beispielaufgaben sollten an einem PC bearbeitet werden.

Informatik – Algorithmik

Ein wichtiges Fachgebiet der Informatik ist die Algorithmik. In der Algorithmik entwickeln, analysieren und optimieren wir Algorithmen. Ein Algorithmus ist ein kochrezeptartiges Verfahren, das wir in einen Rechner programmieren und dann immer wieder zur Lösung eines Problems verwenden können. Ein Beispiel sind Algorithmen zur Berechnung einer optimalen Route, die über mehrere Städte führt. Ein weiteres Beispiel sind Sortieralgorithmen, mit denen eine Liste von Einträgen nach einem bestimmten Kriterium sortiert werden kann. Nehmen wir z. B. eine Software zur Speicherung einer langen Liste von Telefonbucheinträgen, welche wir in aufsteigender Reihenfolge der Telefonnummern sortieren möchten. Eines der Sortierverfahren geht so vor, dass aus der Liste immer der Eintrag, der die kleinste Telefonnummer hat, herausgegriffen wird. Dieser Eintrag wird an das Ende einer zweiten Liste verschoben. Wenn kein Element mehr in der ersten Liste ist, ist die zweite Liste vollständig und gleichzeitig nach Telefonnummern sortiert.


Das Quellen- und Literaturverzeichnis zu dieser Seite finden Sie hier.

Aufgabe 1 von 2

BUBBLESORT

Abb. 1: Bubblesort
Foto: Universität Stuttgart

Ein etwas komplexeres Sortierverfahren, das wir Ihnen hier vorstellen möchten, heißt Bubblesort. Mit dem Sortierverfahren Bubblesort möchten wir eine unsortierte Liste von Zahlen aufsteigend sortieren. Wir fangen mit der ersten Zahl an und vergleichen diese mit ihrem rechten Nachbarn. Ist der rechte Nachbar größer, so belassen wir diese Reihenfolge. Ist er kleiner, so tauschen wir die beiden Zahlen. Nun gehen wir zur nächsten (zweiten) Zahl weiter, vergleichen auch diese wieder mit ihrem rechten Nachbarn, und tauschen die beiden Zahlen, falls nötig. So gehen wir schrittweise die Liste durch bis wir bei den letzten beiden Zahlen sind. Dann wiederholen wir diesen Listendurchlauf auf die gleiche Weise, und zwar so oft, bis alle Zahlen aufsteigend sortiert sind.

1
2
7
8
9
1
2
7
8
9
1
2
7
8
9
1
2
7
8
9
1
2
7
8
9
1
2
7
8
9
1
2
7
8
9
1
2
7
8
9
1
2
7
8
9
1
2
7
8
9

Sortieren Sie die unten stehende Liste von Zahlen nach dem Verfahren Bubblesort. Die Zahlen sollen am Ende aufsteigend sortiert sein. Der erste Durchlauf ist bereits ausgefüllt: 7<2 (Tausch), 7<8 (ok), 8>1 (Tausch), 8<9 (ok). Wählen Sie die Zahlen für die Durchläufe 2 und 3.

 

Durchlauf

Liste

 

7

2

8

1

9

1

2

7

1

8

9

2

3

 

Erklärung zur Lösung der gesamten Aufgabe

Durchlauf 2: 2<7 (ok), 7>1 (Tausch), 7<8 (ok), 8<9 (ok) führt zu 2-1-7-8-9

Durchlauf 3: 2>1 (Tausch), 2<7 (ok), 7<8 (ok), 8<9 (ok) führt zu 1-2-7-8-9

Das schrittweise Aufsteigen der Zahlen (hier z. B. die 1, die in den letzten Schritten nach links geschoben wird) ist wie das Aufsteigen einer Blase im Wasser. Deshalb heißt das Verfahren Bubblesort.