Zurück zur Übersicht

Begriff

Big O Notation

Computer Science Algorithms S3
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Wie misst man, wie "schnell" ein Algorithmus ist? In Sekunden? Nein, denn auf einem Supercomputer ist alles schnell. Man misst in Schritten abhängig von der Datenmenge (n). Big O beschreibt das Worst-Case-Szenario: "Wie schlimm wird es, wenn die Datenmenge explodiert?"

  • O(1): Super. Egal ob 1 oder 1000 User, es dauert immer 1 Sekunde.
  • O(n): Okay. Doppelt so viele User = doppelt so lange warten.
  • O(n²): Katastrophe. Doppelt so viele User = vierfache Wartezeit.

Merksatz: Eine mathematische Notation, die beschreibt, wie Speicherbedarf oder Laufzeit eines Algorithmus wachsen, wenn die Eingabemenge größer wird.


Quick-Check

  1. Ist O(1) immer schneller als O(n)?
    Theoretisch ja. Praktisch nein. O(1) kann bedeuten "Dauert immer 1 Stunde". O(n) kann bei kleinen n (n=5) nur 5 Millisekunden dauern. Big O sagt nur etwas über das Wachstum bei riesigen Datenmengen.
  2. Warum ignorieren wir Konstanten?
    Wir schreiben O(n), nicht O(2n + 5). Die Konstanten sind Hardware-Details. Uns interessiert die Kurve (linear vs. quadratisch).
  3. Was ist O(n!)?
    Fakultät. Das "Traveling Salesman Problem" (brute force). Der absolute Horror. Schon bei n=20 unlösbar.