Algorithmen & Datenstrukturen
Kapitel 2 · Theorie

Laufzeit & O-Notation

Die O-Notation beschreibt das Wachstum des Aufwands in Abhängigkeit von der Eingabegröße n — für große n.

Die wichtigsten Klassen

O()NameBeispieln=10⁶
O(1)konstantHash-Lookup1 op
O(log n)logarithmischBinäre Suche20 ops
O(n)linearLineare Suche10⁶ ops
O(n log n)linear-logMerge Sort2·10⁷ ops
O(n²)quadratischBubble Sort10¹² ops 💀
O(2ⁿ)exponentiellNaive rekursive Fibunmöglich

Faustregeln

  • Eine Schleife → meist O(n).
  • Doppelt verschachtelt → O(n²).
  • Halbierung in jedem Schritt → O(log n).
  • Rekursion mit zwei Aufrufen → O(2ⁿ) (außer mit Memoization).
🎯
Best/Average/Worst CaseQuicksort: Best O(n log n), Worst O(n²) (bei sortiertem Array). Daher in Praxis: randomized Quicksort oder Introsort (Wechsel auf Heapsort bei schlechten Pivots).
Zurück zu Informatik