1038 Stimmen

Wie kann ich die Zeitkomplexität eines Algorithmus ermitteln?

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 mal
  • i++ 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 .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X