O-Notation beispiele und Erklärung?


15.04.2020, 17:30

Anhang

4 Antworten

a) Deine Erkenntnis ist richtig, die Funktion wächst schneller als n^7 Bei der O-Notation geht es aber darum, ob die Funktion langsamer wächst als a * n^7. Dies ist der Fall. Wähle als konstanten Faktor a beispielsweise 1000000 und du wirst sehen, dass die Funktion weniger schnell wächst als 1000000 * n^7. Und da du einen solchen konstanten Faktor a für n^7 findest, mit dem a * n^7 schneller wächst als die Funktion, liegt die Funktion in O(n^7). Dies muss übrigens nicht für x0=0 gelten. Es kann auch sein, dass a * n^7 die Funktion erst ab x0=10 oder so begrenzt.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium

Sind f(n) und g(n) zwei Funktionen, so sagt man:

  1. Wenn der Grenzwert von f(n)/g(n) für n gegen unendlich endlich ist, wachsen sie gleich schnell.
  2. Wenn der Grenzwert Null ist, so wächst g(n) schneller als f(n).
  3. Wenn der Grenzwert nicht endlich ist, wächst f(n) schneller als g(n).

Für |n| -> unendlich? (Es ist zwar anzunehmen, dass n als natürliche Zahl nicht gegen eine endliche reelle Zahl, insbesondere 0, streben kann, aber streng genommen muss es dazugesagt werden.)

Es geht hier um asymptotisches Verhalten, d. h. Größen, die im Verhältnis zum genannten Verhalten asymptotisch "schnell genug" verschwinden (in der Regel reicht jede - um einen noch so kleinen Wert - kleinere Ordnung aus), spielen keine Rolle.

Insbesondere ist (für |n| -> unendlich) O(n^k) + O(n^(k-1)) = O(n^k)

Entsprechend für Omega und Theta.

Woher ich das weiß:Berufserfahrung – Software-Entwickler

Du hast den Anhang vergessen.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium