Zum Inhalt springen

Aufgabe 08 - Sortierverfahren im Wettkampf

Zu Zen-Modus wechseln

Wie viel schneller ist “schnell”? Sie messen die Laufzeit von Bubble Sort gegen das eingebaute sort bei wachsenden Datenmengen (siehe Kapitel Algorithmen analysieren).

In dieser Übung üben Sie:

  • Messen: Laufzeiten mit performance.now() erfassen.
  • Experimentieren: faire Messbedingungen herstellen (gleiche Daten!).
  • Interpretieren: Wachstum aus Messreihen ablesen.
  • VS Code, Browser-Konsole,
  • Ihr Bubble Sort aus der 1. Klasse (Aufgabe 19), oder Sie schreiben ihn neu.
  1. zufallsListe(n): Array mit n Zufallszahlen.
  2. messe(fn): führt fn aus und liefert die Dauer in Millisekunden (performance.now() davor/danach).
  3. Wichtig für Fairness: Beide Verfahren müssen dieselben Daten sortieren. Arbeiten Sie mit Kopien ([...liste]). Warum? Kommentar!
  1. Messen Sie Bubble Sort und sort (mit Vergleichsfunktion für Zahlen!) für n = 100, 1 000, 5 000, 10 000.
  2. Tragen Sie die Ergebnisse in eine Tabelle ein (n, Bubble ms, sort ms).
  3. Verdoppeln Sie n einmal gezielt (5 000 -> 10 000): Um welchen Faktor wächst die Bubble-Sort-Zeit? Passt das zu “Vergleiche wachsen quadratisch”?
  1. Recherchieren Sie auf MDN den Unterschied zwischen sort und toSorted.
  2. Formulieren Sie in 3 Sätzen: Was heißt “in-place”, und was kostet die Alternative (Zeit ist nicht die einzige Ressource!)?

wettkampf.js mit Messcode, die ausgefüllte Messtabelle und Ihre Interpretation (5-8 Sätze) als Kommentar oder eigenes Textdokument.