Wie finde ich die zeitliche Komplexität eines Algorithmus?
Die Frage
Wie finde ich die zeitliche Komplexität eines Algorithmus?
Was habe ich getan, bevor ich eine Frage zu SO gestellt habe?
Ich habe durchgemachtdiese, diese und viele andere links
Aber nirgendwo konnte ich eine klare und klare Erklärung für die Berechnung der Zeitkomplexität finden.
Was weiß ich ?
Sagen Sie für einen Code so einfach wie der unten:
char h = 'y'; // This will be executed 1 time
int abc = 0; // This will be executed 1 time
Sagen Sie für eine Schleife wie die folgende:
for (int i = 0; i < N; i++) {
Console.Write('Hello World !');
}
int i = 0; Dies wird nur ausgeführtEinmal. Die Zeit wird tatsächlich zu berechneti=0
und nicht die Erklärung.
i <N; Dies wird ausgeführtN + 1 mal
i ++; Dies wird ausgeführtN mal
Die Anzahl der Operationen, die für diese Schleife erforderlich sind, beträgt also
{1+ (N + 1) + N} = 2N + 2
Hinweis: Dies kann immer noch falsch sein, da ich nicht sicher bin, wie ich die Zeitkomplexität berechne
Was ich wissen will ?
Ok, also diese kleinen Grundberechnungen, die ich zu kennen glaube, aber in den meisten Fällen habe ich die zeitliche Komplexität als gesehen
O (N), O (n2), O (log n), O (n!).... und vieleandere,
Kann mir jemand helfen zu verstehen, wie man die zeitliche Komplexität eines Algorithmus berechnet? Ich bin sicher, es gibt viele Neulinge wie mich, die das wissen wollen.