AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Sortieralgorithmen-Benchmark
Thema durchsuchen
Ansicht
Themen-Optionen

Sortieralgorithmen-Benchmark

Ein Thema von tripleeye · begonnen am 26. Okt 2005 · letzter Beitrag vom 26. Okt 2005
Antwort Antwort
Benutzerbild von tripleeye
tripleeye
Registriert seit: 13. Apr 2005
Das Programm berechnet die Zeit, die es für das Sortieren einer Liste von maximal 100000 Elementen mithilfe verschiedener Algorithmen benötigt. Die Liste wird per Random-Button erzeugt.

Das Programm sollte auf allen Windows-BS funktionieren. Getestet wurde es unter Win-XP.
Angehängte Dateien
Dateityp: zip some_sorts_195.zip (214,0 KB, 27x aufgerufen)
Murphys Gesetz:
Wenn etwas schief gehen kann, dann wird es auch schief gehen.
Erste digitale Ableitung:
Murphys Gesetz wird durch Computer optimiert.
 
Benutzerbild von RavenIV
RavenIV

 
Delphi 2007 Enterprise
 
#2
  Alt 26. Okt 2005, 07:59
Fragen / Anmerkungen zu dem Programm:
- warum sind Bubble-Sort und QSort nicht dabei?
- warum unterscheiden sich die Zeiten bei gleichen Algo und gleicher Datenmenge so gravierend?
- warum hast du die beschränkung der Datenmenge?
- wie zufällig wird die datenmenge erzeugt?
- die Beschriftung der Buttons ist nicht 100% klar
- warum dauert es länger, wenn man eine neu erstellte Datenmenge sortieren lässt?

gruessle
Klaus E.
  Mit Zitat antworten Zitat
rantanplan99
 
#3
  Alt 26. Okt 2005, 08:27
Ich bin zwar nicht der Ersteller des Testprogramms, kann aber ein paar Hinweise zu deinen Fragen geben

Zitat von RavenIV:
- warum unterscheiden sich die Zeiten bei gleichen Algo und gleicher Datenmenge so gravierend?
- warum dauert es länger, wenn man eine neu erstellte Datenmenge sortieren lässt?
Die Unterscheiden sich nur beim ersten Ausführen des Tests mit einer neuer Datenmenge. Ich vermute das liegt am Caching. Und alle folgenden Test unterscheiden sich nur minimal (man beachte die Zeitangabe in ms, da kommen sicher Messungenauigkeiten hinzu) Bei mir unterscheiden sich die Testläufe nur im sehr geringen Prozent Bereich (Abgesehen vom aller ersten nach einer neuen Datenmenge).

Aber mal eine Anmerkung zum Programm selbst. Mann kann die Effizienz (bzw. Laufzeit) eines Sortieralgorithmus auch mathematisch bestimmen, dann muss man sich nicht auf so "ungenaue" Methoden der Zeitmessung verlassen.

Man kann zu jedem Algorithmus drei Werte berechnen in Anhängig der Eingabelänge n (Anzahl der zu sortierenden Einträge). Einmal 'bestcase', 'wortcase', und 'avaragecase'. Siehe auch Wikipedia. Das lernt man z.B. an der Uni gleich zu Beginn wenn es um Algorithmen und Datenstrukturen geht.

rantanplan
  Mit Zitat antworten Zitat
shmia

 
Delphi 5 Professional
 
#4
  Alt 26. Okt 2005, 16:01
Zitat von rantanplan99:
Mann kann die Effizienz (bzw. Laufzeit) eines Sortieralgorithmus auch mathematisch bestimmen, dann muss man sich nicht auf so "ungenaue" Methoden der Zeitmessung verlassen.

Man kann zu jedem Algorithmus drei Werte berechnen in Anhängig der Eingabelänge n (Anzahl der zu sortierenden Einträge). Einmal 'bestcase', 'wortcase', und 'avaragecase'. Siehe auch Wikipedia. Das lernt man z.B. an der Uni gleich zu Beginn wenn es um Algorithmen und Datenstrukturen geht.
Man kann aber auch bei einer vorgegebenen Menge von Daten die Anzahl der Vergleiche und die Anzahl der Vertauschungen zählen.
Man braucht also nicht Schätzen, sondern man sortiert mit einem bestimmten Algorithmus und zählt einfach mit.
Von einem Sortieralgorithmen Benchmark würde ich genau die Zahlen erwarten.
Ich habe eine Sortier-Basisklasse in der Code-Library, die genau diese Zahlen liefert:
http://www.delphipraxis.net/internal...ct.php?t=34412
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz