Ich habe durchgemacht Google y Stapelüberlauf suchen, aber nirgends konnte ich eine klare und einfache Erklärung finden, wie man die Zeitkomplexität berechnet.
Was weiß ich bereits?
Zum Beispiel für einen so einfachen Code wie den folgenden:
char h = 'y'; // This will be executed 1 time
int abc = 0; // This will be executed 1 time
Zum Beispiel 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ührt einmal .
Die Zeit wird tatsächlich berechnet auf i=0
und nicht die Erklärung.
i < N;
Dies wird ausgeführt N+1 mali++
Dies wird ausgeführt N mal
Die Anzahl der für diese Schleife erforderlichen Operationen ist also {1+(N+1)+N} = 2N+2 . (Aber das kann immer noch falsch sein, denn ich bin mir nicht sicher, ob ich das richtig verstanden habe).
OK, diese kleinen grundlegenden Berechnungen kenne ich wohl, aber in den meisten Fällen habe ich die Zeitkomplexität als O(N), O(n^2), O(log n), O(n!) y viele andere .