Unter der
Zeitkomplexität eines
Problems wird in der
Datenverarbeitung die Anzahl der Rechenschritte verstanden, die ein
optimaler Algorithmus zur Lösung dieses Problems benötigt, in Abhängigkeit von der Länge der Eingabe. Dabei wird hier auch von der
asymptotischen Laufzeit gesprochen und meint damit, in Anlehnung an eine
Asymptote, das Zeitverhalten des Algorithmus für eine potenziell unendlich große Eingabemenge. Es interessiert also nicht der Zeitaufwand eines konkreten
Programms auf einem bestimmten Computer, sondern viel mehr,
wie der Zeitbedarf wächst, wenn mehr Daten zu verarbeiten sind, also z. B. ob sich der Aufwand für die doppelte Datenmenge verdoppelt oder quadriert (
Skalierbarkeit). Die Laufzeit wird daher in Abhängigkeit von der Länge
n der Eingabe angegeben und für immer größer werdende
n asymptotisch unter Verwendung der
Landau-Notation (Groß-O-Notation) abgeschätzt. Eine genauere Laufzeitabschätzung von
Rekursionsgleichungen bietet auch das
Mastertheorem oder die
Substitutionsmethode.