Algorithmuskomplexität
Die Algorithmuskomplexität ist ein Maß dafür, wie der Ressourcenbedarf eines Algorithmus mit wachsender Eingabegröße n wächst. Typische Ressourcen sind Zeit und Speicher (Raum). Die Zeitkomplexität beschreibt die Anzahl der Grundoperationen, die ein Algorithmus in Abhängigkeit von n benötigt. Häufige Notationen sind Big-O, Theta und Omega, die Ober- bzw. Untergrenze für das Wachstum festhalten. Im praktischen Kontext spricht man oft vom Worst-case, Best-case und Average-case.
Beispiele verdeutlichen das Spektrum: Ein linearer Algorithmus hat O(n), eine Binärsuche in sortierten Daten O(log n),
Bei der Analyse wird häufig das RAM-Modell verwendet, in dem grundlegende Operationen in konstanter Zeit erfolgen.
Die Komplexitätsanalyse dient der Einschätzung der Skalierbarkeit von Algorithmen, der Auswahl geeigneter Algorithmen und der Identifizierung