Zeitliche Komplexität

Definition - Was bedeutet Zeitkomplexität?

Zeitkomplexität ist ein Konzept in der Informatik, das sich mit der Quantifizierung der Zeit befasst, die ein Satz von Code oder Algorithmus benötigt, um in Abhängigkeit von der Menge der Eingabe zu verarbeiten oder auszuführen.

Mit anderen Worten, Zeitkomplexität ist im Wesentlichen Effizienz oder wie lange eine Programmfunktion benötigt, um eine bestimmte Eingabe zu verarbeiten.

Technische.me erklärt die zeitliche Komplexität

Die Zeitkomplexität ist einfach ein Maß für die Zeit, die eine Funktion oder ein Ausdruck benötigt, um ihre Aufgabe zu erfüllen, sowie der Name des Prozesses, um diese Zeit zu messen. Es kann auf fast jeden Algorithmus oder jede Funktion angewendet werden, ist jedoch für rekursive Funktionen nützlicher. Es macht wenig Sinn, die Zeitkomplexität für Anwendungen zu messen, z. B. den Benutzernamen und das Kennwort zum Vergleich aus einer Datenbank abzurufen oder einfach Daten zu speichern, unabhängig davon, ob sie 20 ms oder 5 ms betragen. das wäre mehr in der Linie der Zugriffszeit. Es hat nichts damit zu tun, sich um seine Ausführungszeit zu kümmern, sondern dass der Unterschied vernachlässigbar ist. Wenn es jedoch eine rekursive Funktion gibt, die mehrfach aufgerufen werden kann, kann das Bestimmen und Verstehen der Quelle ihrer Zeitkomplexität dazu beitragen, die Gesamtverarbeitungszeit von beispielsweise 600 ms auf 100 ms zu verkürzen.

Die zeitliche Komplexität wird typischerweise in der "großen O-Notation" ausgedrückt, es gibt jedoch auch andere Notationen. Dies ist eine mathematische Darstellung der Obergrenze des Skalierungsfaktors für einen Algorithmus und wird als O (Nn) geschrieben, wobei "N" die Anzahl der Eingaben und "n" die Anzahl der Schleifenausdrücke ist. Zum Beispiel haben wir den Algorithmus:

Zahlen [] = {5,6,10,11,2}; foreach (Nummer als Nummer1)

{

foreach (Nummer als Nummer2) {

Aussagen; }}

Das Array "numbers" enthält fünf Eingänge, und die Schleife "foreach" wird zweimal wiederholt. Daher tritt ein exponentielles Wachstum der Verarbeitungszeit auf, wenn die Anzahl der Eingaben und die Anzahl der Schleifen zunehmen.