Skriptes - Uni Bremen - Universität Bremen
Skriptes - Uni Bremen - Universität Bremen
Skriptes - Uni Bremen - Universität Bremen
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