01.03.2014 Aufrufe

13SS_6b_PG1_Algorithmen_Datenstrukturen_Suchen_Sortieren_Stud_01_21.pdf

13SS_6b_PG1_Algorithmen_Datenstrukturen_Suchen_Sortieren_Stud_01_21.pdf

13SS_6b_PG1_Algorithmen_Datenstrukturen_Suchen_Sortieren_Stud_01_21.pdf

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Komplexität der binären Suche<br />

FB Informatik<br />

Prof. Dr. R.Nitsch<br />

Aufwandsabschätzung für binäre Suche<br />

• Jede Iteration benötigt die Zeit 3<br />

• Jede Iteration halbiert den Suchbereich<br />

Nach dem 1. Halbieren enthält Suchbereich noch n/2 = n/2 1 Elemente<br />

Nach dem 2. Halbieren enthält Suchbereich noch n/4 = n/2 2 Elemente<br />

…<br />

Nach dem R-ten Halbieren enthält Suchbereich noch n/2 R Elemente<br />

• Worst case: Suche endet, wenn Suchbereich nur noch 1 Element enthält!<br />

n<br />

2 R = 1 R = log 2(n) Wiederholungen Zeitkomplexität T(n) = R(n)·3+2= log 2 (n) · 3 + 2<br />

d.h. die Zeitkomplexität wächst logarithmisch mit n<br />

Dies bringt man abkürzend durch die "Big-O"-Notation zum Ausdruck: Zeitkomplexität = O( log n )<br />

Ergebnis: In sortierten Reihen kann wesentlich schneller gesucht werden!<br />

Beispiel: Laufzeitvergleich<br />

lineare ↔ binäre Suche<br />

(gemessene Werte:<br />

Intel X86 Prozessor, 1,66 GHz,<br />

Debug-Konfiguration)<br />

n O(n) O(log n)<br />

1000 2,6 us 0,1 us = 0,033 us • 3<br />

10 6 2,6 ms 0,2 us = 0,033 us • 6<br />

10 9 2,6 s 0,3 us = 0,033 us • 9<br />

20.06.2<strong>01</strong>3 8

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!