Hallo Tris,
vielleicht hilft die folgendes Beispiel:
du versucht Einträge in einer Datenbank zu suchen, z.B. mit 200 Einträgen. Die Einträge sind unsortiert:
Dein Algorithmus: du schaust dir der Reihe nach alle Einträge an.
Best Case: ich finde den richtigen Eintrag direkt an der ersten Stelle
Laufzeit: 1
Average Case: der Eintrag befindet sich ungefair in der Mitte.
Laufzeit: 100
Worst Case: ganz hinten.
Laufzeit: 200
Mache ich gleichverteilt viele Suchen z.B. 50 Mal:
werde ich im Schnitt eine Laufzeit von 50 * 100 = 5000 brauchen.
Algorithmus 2: ich sortiere zunächst alle Einträge
Kosten ca. 200 * log (200) = ca. 1600 (Quick Sort)
Dann suche ich mit Binärer Suche.
log (200) aufgerundet 8 (256)
Nach fünfzig mal Suchen: (sogar Worst Case Fall, Average Case liegt aber nicht viel darunter, Best Case auch hier 1)
1600 + 50 * 8 = 2000
Jetzt kann man sich ausrechnen ab wann sich der 2. te Algorithmus sich im Mittel lohnt (die Sortierung sich armortisiert)
1600 + 8 * x = 100 * x
92 * x = 1600
x = 17,34
d.h. nach 18 Versuchen haben sich die Kosten der Sortierung mehr als armortisiert.
Wenn wir nur einmal Suchen, lohnt sich die Sortierung gegenüber dem ersten Algorithmus nicht.
Hoffe das Beispiel hilft.
Gruss Peter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]