Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:big_o:start [23.07.2020 13:18] – sbel | faecher:informatik:oberstufe:algorithmen:big_o:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Aufwandsbeurteilung: | ||
- | Wenn man ein Element in einer sortierten Liste sucht und den Aufwand vergleicht, je nachdem ob man die einfache Suche (der Reihe nach jedes Element ansehen) oder die [[..: | ||
- | |||
- | Angenommen, es dauert 1ms, um ein Element zu überprüfen - wie lange dauert es jeweils, in einer Liste mit 100 Elementen das gesuchte zu finden? Naja, das kommt drauf an - es könnte ja bei beiden Methoden sein, das bereits die erste Betrachtung das gesuchte Element findet, dann dauert es 1ms((wenn man annimmt, dass die anderen Operationen im Vergleich fast keine Zeit beanspruchen)), | ||
- | |||
- | <WRAP center round info 95%> | ||
- | Darum einigt man sich, dass man bei der Beurteilung von Algorithmen bevorzugt den schlechtesten Fall (" | ||
- | </ | ||
- | |||
- | Der schlechteste Fall bei der binären Suche dauert 7ms, also 15 mal so lang. Die binäre Suche ist also 15 mal schneller als die einfache suche?! Stimmt das? Dazu betrachten wir die folgende Tabelle, in der die "worst case" | ||
- | |||
- | |||
- | |||
- | ^Zahl der Elemente | ||
- | |100 | 100ms | 7ms | | ||
- | |10.000| 10 Sekunden | 14ms | | ||
- | |1.000.000.000 | 11 Tage | 32ms | | ||
- | |||
- | Man sieht, dass die Laufzeiten **mit der Zunahme der Zahl der Elemente sehr unterschiedlich zunehmen**. | ||
- | |||
- | <WRAP center round info 95%> | ||
- | Um diesen Umstand darzustellen, | ||
- | </ | ||
- | |||
- | Für unser Beispiel oben: | ||
- | |||
- | ^Einfache Suche ^ Binäre Suche ^ | ||
- | | O(n) | O(log n) | | ||
- | |||
- |