Zum Inhalt springen
uencoder

Big O Notation

Die Big-O-Notation beschreibt die asymptotische obere Schranke einer Funktion und dient der Analyse der Zeit-/Speicherkomplexität von Algorithmen unter Vernachlässigung von Konstanten und niedrigeren Termen.

Zweck

Die asymptotische Wachstumsrate der Algorithmuseffizienz abstrahieren, um Algorithmen zu vergleichen und auszuwählen.

Mechanismus

f(n)=O(g(n)) bedeutet: Es gibt Konstanten C und n0, sodass |f(n)|≤C|g(n)| für alle n>n0. Übliche Ordnungen: O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2^n) < O(n!). Der Fokus liegt auf oberen Schranken im Worst Case.

Anwendungsfälle

  • Analyse der Algorithmuskomplexität
  • Auswahl von Datenstrukturen
  • Entscheidungen zur Leistungsoptimierung
  • Vorstellungsgespräche und Lehre

Beispiele

  • Eingabe
    Binary search
    Output
    O(log n)

    Halves each time

Häufige Fehler

Ignoring constant factors misjudges real-world performance
Big O is asymptotic; benchmark for real behavior

Verwandte Begriffe

References