Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

Re: Sortierkino - Visualisierung diverser Sortieralgorithmen

  Alt 20. Okt 2009, 23:04
Und jetzt die Zugabe - die Farbvariante der drei o.a. Programme!

Damit schleppt jeder Wert im Verlaufe der Sortierung anhand seiner Farbe seine (ungefähre) Startposition mit sich umher.

Auf diese Weise ist es möglich, die (In-)Stabilität mancher Sortieralgorithmen optisch wahrzunehmen. Dazu empfehle ich die letzte Startmenge - die mit zwei konstanten Teilmengen, abfallend.

Achtung: Diese Farbzuordnung funktioniert nicht bei den speziellen Sortieralgorithmen (Bucketsorts): Beatsort, Distribution Counting und Straight Radix Sort, d.h. konkret, die Farbzuordnung bleibt im Verlaufe der Sortierung nicht erhalten/enthalten. Die Endfärbung der sortierten Menge ist gleich kontinuierlich wie die Startfärbung.

Vielleicht meldet sich ja diesmal ein glücklicher Finder irgendeines (oder mehr als eines) Fehlers.

Viel Spaß erneut oder weiterhin!

Delphi-Laie

Edit: Beide Quicksorts beschleunigt: Tausch nur noch nach Schlüsselvergleich. Damit vermischen beide Algorithmen die Elemente gleichgroßer Schlüssel auch nicht mehr unkontrolliert, sondern werden wenigstens „invers stabil“ (=bei Elementen gleichgroßer Schlüssel wird deren Reihenfolge invertiert).

Edit 2: Borderstyle vom Sortierformular so geändert, daß es nunmehr ein echtes Fenster (also mit Rahmen) ist. Mit dem Setzen des Formstyles des Sortierformular auf fsStayOnTop sollen zudem die störenden Neuzeichnungen anzahlig zurückgedrängt werden.

Edit 3: Swirlsort korrigiert (Farbinformation blieb im Verlaufe der Sortierung nicht erhalten).

Edit 4: Subtilen Fehler bei der Bestimmung der maximalen Spalten- und Zeilenanzahl im Fenstermodus beseitigt (?). Funktionierte nicht richtig, nachdem das Formular 2 (zum Sortieren) schon mal visible war bzw. benutzt wurde.

Edit 5: Insertionsort beschleunigt (zyklisches Verschieben anstatt häufigen Vertauschens). 2 weitere Insertionsorts hinzugefügt (Variante 3 zeigt ziemlich selten einen nicht reproduzierbaren Fehler). Das Sortierformular, sofern als Fenster benutzt (also mit Rahmen), behält nunmehr seine Position, zu der es verschoben wurde (vorher immer Bildschirmzentrierung desselben).

Edit 6: Subtilen Fehler bei der Generierung der Startmenge „2 separate absteigende Teilmengen“ korrigiert. Dynamische Längenanpassung der (zu sortierenden) (Haupt-)Menge korrigiert.

Edit 7: Anhänge gelöscht, weil beide Programmversionen verein(ig)t wurden - siehe vorherigen Beitrag.
  Mit Zitat antworten Zitat