Neueste Artikel

Kategorien

Suchen

Facebook

Sonstiges

RSS-Feed-Icon RSS-Feed

Sortieralgorithmen von innen als neu markieren

Die folgende Visualisierung von Sortieralgorithmen waren schon auf meiner alten Webseite zu sehen und sind (glaub' ich) aus dem Jahre 2000. Weil Sie aber so hübsch anzusehen sind, präsentiere ich sie hier noch einmal.

Die Algorithmen (BubbleSort, InsertSort, JumpSort, MergeSort, MinSort, QuickSort, RadixSort und ShellSort) habe ich alle noch einmal implementiert. Einziger Unterschied: Nach jedem Rechenschritt wird die aktuelle (teilweise sortierte) Zahlenfolge als Grauverlauf gespeichert. Raus kommen die folgenden merkwürdigen Darstellungen, die aber einen interessanten Einblick in die Funktionsweise von Sortieralgorithmen geben.

In der folgenden Tabelle sind die Visualisierungen der unterschiedlichen Sortieralgorithmen aufgelistet. Die y-Achse der Bilder entspricht (von oben nach unten) dem Fortschritt der Sortierung und ist in etwa proportional zur Zeit.
Zeilenweise sind die entsprechenden Zahlenfolgen im aktuellen Rechenschritt als Grauwerte gezeichnet, dabei steht schwarz für die kleinste und weiß für die größte Zahl. So kann man den Verlauf der Sortierung genau beobachten.

Sortieralgorithmus Art der Zahlenfolge
rückwärts
sortiert
rückwärts
verrauscht
vorwärts
sortiert
vorwärts
verrauscht
zufällig
BubbleSort

Der rote Bereich entspricht der inneren Schleife.
BubbleSort rückwärts sortiert BubbleSort verrauscht und grob rückwärts sortiert BubbleSort vorwärts sortiert BubbleSort verrauscht und grob vorwärts sortiert BubbleSort zufällig
InsertSort

Der rote Bereich entspricht der inneren Schleife.
InsertSort rückwärts sortiert InsertSort verrauscht und grob rückwärts sortiert InsertSort vorwärts sortiert InsertSort verrauscht und grob vorwärts sortiert InsertSort zufällig
JumpSort

Der rote Bereich entspricht der inneren Schleife.
JumpSort rückwärts sortiert JumpSort verrauscht und grob rückwärts sortiert JumpSort vorwärts sortiert JumpSort verrauscht und grob vorwärts sortiert JumpSort zufällig
MergeSort

Im roten Bereich wird zusammengefügt.
MergeSort rückwärts sortiert MergeSort verrauscht und grob rückwärts sortiert MergeSort vorwärts sortiert MergeSort verrauscht und grob vorwärts sortiert MergeSort zufällig
MinSort

Der rote Bereich entspricht der inneren Schleife.
MinSort rückwärts sortiert MinSort verrauscht und grob rückwärts sortiert MinSort vorwärts sortiert MinSort verrauscht und grob vorwärts sortiert MinSort zufällig
QuickSort

Im roten Bereich wird um das Pivotelement sortiert.
QuickSort rückwärts sortiert QuickSort verrauscht und grob rückwärts sortiert QuickSort vorwärts sortiert QuickSort verrauscht und grob vorwärts sortiert QuickSort zufällig
RadixSort

Der rote Bereich entspricht der inneren Sortierung.
RadixSort rückwärts sortiert RadixSort verrauscht und grob rückwärts sortiert RadixSort vorwärts sortiert RadixSort verrauscht und grob vorwärts sortiert RadixSort zufällig
ShellSort ShellSort rückwärts sortiert ShellSort verrauscht und grob rückwärts sortiert ShellSort vorwärts sortiert ShellSort verrauscht und grob vorwärts sortiert ShellSort zufällig

Einige Implementierungen der Sortieralgorithmen stammen von www.sortieralgorithmen.de.