31.01.2014 Aufrufe

Skriptes - Uni Bremen - Universität Bremen

Skriptes - Uni Bremen - Universität Bremen

Skriptes - Uni Bremen - Universität Bremen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Laufzeitanalyse von Algorithmen und O-Notation<br />

Definition A.1 (O-Notation)<br />

Seien f und g Funktionen von Æ nach Æ. Wir schreiben<br />

f ∈ O(g)<br />

wenn es eine Konstante c > 0 und Schranke n 0 ≥ 0 gibt, so dass f(n) ≤ c·g(n) für alle<br />

n > n 0 .<br />

Mit anderen Worten bedeutet f ∈ O(g), dass f „schließlich nicht wesentlich schneller<br />

wächst“ als g. Die folgende Graphik illustriert dies anhand zweier Funktionen f(n) und<br />

g(n) mit f ∈ O(g):<br />

Wie in Definition A.1 gefordert, liegt f schliesslich (d.h. ab der Schranke n 0 ) unterhalb<br />

der mit der Konstanten c skalierten Funktion c·g(n). Auch wenn der absolute Wert von<br />

f(n) an vielen Stellen größer ist als der von g(n), wächst f also nicht wesentlich schneller<br />

als g.<br />

Wir verwenden die Laufzeitbeschreibung O(f(n)), wenn wir ausdrücken wollen, dass die<br />

Laufzeit f(n) ist, bis auf Konstanten (repräsentiert durch c) und endlich viele Ausnahmen<br />

(repräsentiert durch n 0 ). Insbesondere beschreibt<br />

• O(n) Linearzeit;<br />

• O(n 2 ) quadratische Zeit und<br />

• ⋃ i≥1 ni polynomielle Zeit.<br />

Es existieren verscheidene Rechenregeln für die O-Notation wie zum Beispiel<br />

• O(O(f)) = O(f);<br />

• O(f)+O(g) = O(f +g) und<br />

• O(f)·O(g) = O(f ·g).<br />

Mehr Informationen zur O-Notation finden sich beispielsweise im Buch „Concrete Mathematics“<br />

von Graham, Knuth und Patashnik.<br />

161

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!