GnomSort
Algorithmus
Gartenzwerge sortieren die in einer Reihe aufgestellten Blumentöpfe der Größe nach und benutzen dazu den folgenden Algorithmus:
Beginne links und vergleiche die beiden ersten Töpfe.
Stehen sie in der richtigen Reihenfolge gehe ein Schritt nach rechts.
Vertausche die beiden Töpfe, wenn sie nicht in der korrekten Reihenfolge stehen, und gehe einen Schritt nach links.
Ist der Schritt nach links nicht möglich, bleibe beim ersten Topf stehen.
Wiederhole das Sortieren bis der letzte Blumentopf erreicht ist.
Die Größe der Blumentöpfe wird mit Zufallszahlen festgelegt:
|
Ungeordnete Zufallszahlen: |
Geordnete Zufallszahlen: |
Hinweis: Um mehrere Zeichenflächen nutzen zu können, muss die Prozedur balkendiagramm mit einem zusätzlichen Parameter ausgestattet werden, der einer fortlaufenden Nummerierung entspricht:
(balkendiagramm <ls> ; Liste mit Zahlenwerten <nr>) ; fortlaufende Nummerierung des Balkendiagramms
Effizienz von GnomSort
Wir definieren unseren gnomSort-Algorithmus mit einem "eingebauten" (Zeittakt-)Zähler:
Im Weiteren wollen wir uns nur auf die Zählergebnisse unseres "Zeittaktmessers" konzentrieren.
Dazu sollen die Wiederholungen des Experimentes automatisiert werden:
Schließlich sollen die Ergebnisse unserer empirischen Untersuchung wieder im Balkendiagramm visualisiert werden.
Achtung! Mit kleinen Wiederholraten und etwas Geduld experimentieren!
Die empirischen Untersuchungen zeigen offensichtlich einen quadratischen Zeitaufwand von GnomSort.