Aufgabe 08 - Sortierverfahren im Wettkampf
Aufgabe 08 - Sortierverfahren im Wettkampf
Abschnitt betitelt „Aufgabe 08 - Sortierverfahren im Wettkampf“Worum geht es?
Abschnitt betitelt „Worum geht es?“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.
Benötigte Unterlagen
Abschnitt betitelt „Benötigte Unterlagen“- VS Code, Browser-Konsole,
- Ihr Bubble Sort aus der 1. Klasse (Aufgabe 19), oder Sie schreiben ihn neu.
Arbeitsaufträge
Abschnitt betitelt „Arbeitsaufträge“Teil A - Messumgebung
Abschnitt betitelt „Teil A - Messumgebung“zufallsListe(n): Array mitnZufallszahlen.messe(fn): führtfnaus und liefert die Dauer in Millisekunden (performance.now()davor/danach).- Wichtig für Fairness: Beide Verfahren müssen dieselben Daten sortieren. Arbeiten Sie mit Kopien (
[...liste]). Warum? Kommentar!
Teil B - Messreihe
Abschnitt betitelt „Teil B - Messreihe“- Messen Sie Bubble Sort und
sort(mit Vergleichsfunktion für Zahlen!) für n = 100, 1 000, 5 000, 10 000. - Tragen Sie die Ergebnisse in eine Tabelle ein (n, Bubble ms, sort ms).
- Verdoppeln Sie n einmal gezielt (5 000 -> 10 000): Um welchen Faktor wächst die Bubble-Sort-Zeit? Passt das zu “Vergleiche wachsen quadratisch”?
Teil C - Speicher-Blick
Abschnitt betitelt „Teil C - Speicher-Blick“- Recherchieren Sie auf MDN den Unterschied zwischen
sortundtoSorted. - 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.