Entwickler-Ecke
Open Source Projekte - Sortierverfahren - grafische Veranschaulichung
Mathematiker - So 21.10.12 08:53
Titel: Sortierverfahren - grafische Veranschaulichung
Hallo,
obwohl ich dem Sortierkino von Delphi-Laie weder Konkurrenz machen will, noch kann, veröffentliche ich doch mein eigenes, kleines Programm zum Veranschaulichen von Sortierverfahren.
In meinem Programm werden die zu sortierenden Elemente nur als Pixel dargestellt, mit dem Index des Elementes nach rechts und dem Betrag des Elementes nach oben.
Es sind 18 verschiedene Verfahren enthalten. Die Maximalzahl von zu sortierenden Zahlen ist auf 16000 begrenzt.
Einen Vorteil hat mein Programm: Steuerung und Darstellung sind in einem Fenster zusammengefasst.
Vielleicht kann ja jemand das Programm inkl. Quelltext gebrauchen.
Beste Grüße und einen schönen Sonntag
Mathematiker
Horst_H - So 21.10.12 11:14
Hallo,
wie immer meine Kritik an diesen "Dingern".
Wozu Zeit stoppen/anzeigen, wenn es rein gar nichts mit der wahren Leistungsfähigkeit zu tun hat.
Select-Sort saust nur so dahin und ist in der Laufzeit quadratisch von n = Anzahl der zu sortierenden Elemente abhängig->Anzahl der Vergleiche quadratisch ( n*(n+1)/2), aber es tauscht eben nur minimal n-fach.
Meine Vorschlag neben der Angabe für Austauschungen und Vergleiche, eine Art Kostenfaktor dafür einführen und Gesamtkosten angeben.
Was mir noch einfällt wäre ein Maß für die Lokalilität der Vergleiche, aber wie soll man diese messen.
Mir fiel einmal auf, dass merge-sort von Zeigern auf records bei großen Datenmengen von mehreren 100 MB schneller als quicksort war, weil die Daten auf die gezeigt wird eben nicht, wie bei merge-sort lange Zeit benachbart und damit im CPU-Cache zu liegen kamen.
Aber auch im Hauptspeicher hintereinanderweg ( select sort / bubble-sort) ist schneller als ständiger völlig zufälliger Zugriff.
Nun denn, Du willst es ja nicht selbst weiterentwickeln und stellst es ja eigenen Überarbeitung zur Verfügung.
Schönen Sonntag bei diesem ausgesprochem schönem Herbsttag
Gruß Horst
bummi - So 21.10.12 11:15
:zustimm: solltest Du vielleicht mal verlinken wenn wieder jemand ein Problem mit seinem Bubblesort hat, vielleicht lässt sich die Wahl des Algorhytmus dann beizeiten in die richtige Richtung verlagern.
Mathematiker - So 21.10.12 13:20
Hallo Horst_H,
Horst_H hat folgendes geschrieben : |
Wozu Zeit stoppen/anzeigen, wenn es rein gar nichts mit der wahren Leistungsfähigkeit zu tun hat. |
Du hast vollkommen recht. Und ich war auch im Zweifel, ob ich die Zeit angeben soll.
Ich habe es dann doch eingefügt, weniger um verschiedene Verfahren zu vergleichen, als viel mehr die Zeit für unterschiedliche große Datenmengen zu messen.
Natürlich wird auch dann nur die Zeit gemessen, die das Vertauschen und vor allem die grafische Darstellung benötigt.
Eine richtig vernünftige Idee zum Vergleich habe ich leider nicht.
Beste Grüße
Mathematiker
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!