Beispiel

Im folgenden sei a eine Datenmenge {32, 18, 22, 10, 12}, die aus 5 Elementen des Typs Zahl besteht. Das Ziel ist es diese Menge mit dem einfachen BubbleSort aufsteigend zu sortieren, d.h. eine menge mit folgender Anonrdnung ihrer Elemente: {10, 12, 18, 22, 32}.

Die Marke, welche das Fortschreiten des Algorithmus widerspiegelt ist durch einen Pfeil nach unter signalisiert. Am Anfang steht diese Marke auf dem letzten Element. Die beiden anderen Pfeile von unten zeigen auf die zwei gerade untersuchten Elemente. Nach dem Abarbeiten von zwei Elementen werden diese Positionen vorgerückt und die nächsten Elementen werden untersucht.

Nach diesem Durchlauf befindet sich das grösste Element an seiner endgültigen Position. Nun wird die Marke um ein Element vorgerückt und die vorherigen Schritte wiederholt, wobei zu bearbeitenden Elemente durch das Vorrücken der Marke immer weniger werden, da immer nur bis zur Marke iterriert wird.
Nach jedem Durchlauf wird die Marke um eine Stelle vorgerückt. Sofern die Marke nicht das erste Element erreicht, wird ein neuer Durchlauf mit der neuen Makrenposition angestartet. Hier eine Tabelle mit Blicken auf die Datenmenge nach jedem Durchlauf. (Siehe oben Für eine detailierte Aufnahmen eines Durchlaufs)

Datenmenge nach Ablauf des ersten Durchgangs:

Datenmenge nach Ablauf des zweiten Durchgangs:

Datenmenge nach Ablauf des dritten Durchgangs:

Nach dem hier nur die einfachste Form des BubbleSorts vorliegt und diese nicht in der Lage ist, zu entscheiden, ob die Datenmenge bereits sortiert, wird sie weitere (unnötige) Durchläufe machen. Wie im letzten Durchlauf ersichtlich, ergab sich eine bereits sortierte Ordnung in der Datenmenge und die folgenden Durchäufe werden keine Elemente mehr vertauschen und sind sommit überflüssig.

Datenmenge nach Ablauf des vierten Durchgangs:

Dieser Durchlauf wird nicht gestartet, da die Marke das erste element erreicht hat. Der Algorithmus terminiert und hinterlässt ein sortiertes Datenfeld zurück.


Nächste Seite  Aufwärts  Vorherige Seite  Inhalt 


Nächste Seite: Laufzeitkomplexität Aufwärts: Arbeitsweise Vorherige Seite: Abstrakt   Inhalt

2002-05-09