Sortieralgorithmen Visualizer

Christian Berrer, Tyron Madlener

Funktion

Der Sortieralgorithmen Visualizer ist ein PostScript Projekt, das verschiedene Sortieralgorithmen grafisch darstellt. Dazu wird ein Feld gezeichnet, das ein Array mit 501 Elementen (von Index 0 - 500) darstellt und anschließend sortiert wird. Jede Verschiebeoperation wird grafisch dargestellt, darüber hinaus auch jede Vergleichsoperation (was besonders bei Selection Sort wichtig ist, da hier wenig Verschiebungen und viele Vergleiche durchgeführt werden). Es werden die Anzahl der Schreib- und Lesezugriffe auf das Array mitprotokolliert und angezeigt. Folgende Algorithmen sind implementiert:

How-To

Wir empfehlen, das Skript unter Linux auszuführen, da es unter Windows sehr ruckelt, was die Animation doch äußerst stört.
Mit dem Befehl "gs sort.ps" das Skript starten. Es sollte ein GhostScript Fenster erscheinen. Im Terminal stehen nun Anweisungen:
Mit 0 - 12 den darzustellenden Algorithmus auswählen.
Das Intervall, das nach jedem Algorithmus-Schritt gewartet wird angeben (hierbei handelt es sich um Busy-Waiting-Zyklen).
Einen Seed-Wert für den RNG angeben oder einfach Enter drücken. Durch die Angabe gleicher Seed-Werte kann man den selben Array auf mehrere Algorithmen anwenden.
Zurücklehnen und die Show genießen :)
(Warnung: Slow Sort bringt GhostScript zum Absturz, weil die Array-Zugriffszähler überlaufen. Das dauert aber...)

Dateien

Hier befinden sich alle relevanten Dateien zum Download. Enjoy.
sort.ps Der Code des Sortieralgorithmen Visualizers.
pres1.pdf Die erste Zwischenpräsentation als PDF Dokument.
pres1.odp Die erste Zwischenpräsentation als LibreOffice Impress Dokument.
pres2.pdf Die finale Präsentation als PDF Dokument.
pres2.pptx Die finale Präsentation als Office Powerpoint Dokument.
devel.ps PostScript Datei, die Debug-Versionen der Algorithmen enthält, bevor sie in sort.ps eingeflossen sind. Etwas chaotisch.

Screenshot

Natürlich dürfen auch die obligatorischen Screenshots nicht fehlen.
Sie zeigen den Visualizer in der Ausführung von Shear Sort, Quick Sort, Bubble Sort und Merge Sort.
Die restlichen Algorithmen müssen selbst beobachtet werden...
Screenshot des Sortieralgorithmen Visualizers bei Shear Sort Screenshot des Sortieralgorithmen Visualizers bei Quick Sort Screenshot des Sortieralgorithmen Visualizers bei Bubble Sort Screenshot des Sortieralgorithmen Visualizers bei Merge Sort


Viel Spaß wünschen euch Tyron & Christian.