Wie berechnet man die Zeitkomplexität des Algorithmus? Über Best Case, Worst Case und Average Case.

3 Antworten


  • Du musst wissen
    - der Algorithmus
    - der kürzeste Weg durch den Algorithmus
    - der längste Weg durch den Algorithmus
    - wie sich die Pfadlängen oder die Anzahl der Iterationen mit der Anzahl der verarbeiteten Datenelemente ändern
    - wie ein "durchschnittlicher" Datensatz aussieht.

    Die Zeitkomplexität des besten Falles kann berechnet werden, indem berücksichtigt wird, was mit der Ausführungszeit oder der Anzahl der Iterationen passiert, wenn Sie den Datensatz um 1 Element, um 2 Elemente, um Faktor 2, Faktor 3 erhöhen Zunahme linear mit der Anzahl der Datenelemente ist, sagen wir, die Zeitkomplexität ist O(N), dh in der Größenordnung von N, der Anzahl der Datenelemente. Wenn die Ausführungszeit als das Quadrat der Anzahl von Datenelementen variiert, dann sagen wir, dass die Zeitkomplexität O(N 2 ) ist. Die Zeitkomplexität kann andere Größenordnungen haben, exponentiell sein oder eine andere Beziehung zur Anzahl von Datenelementen haben, beispielsweise O(N 3/2 ).

    Die gleiche Bewertung der Zeitkomplexität kann für die schlimmsten und durchschnittlichen Fälle durchgeführt werden.
  • Gemäß dem 1. Algorithmus müssen wir
    innerhalb der ersten while-Schleife----->

    herausfinden, was alle grundlegenden Operationen sind, die eine konstante Zeit benötigen.
    Hier ist
    k ← 0 ------ ist eine Grundoperation
    k < n*n ---- Angenommen , n*n = N (auf jeden Fall ist es eine Zahl) eine Grundoperation
      y ← y + j - k - ----- eine weitere Grundoperation
    k ← k + 1 ------ ist eine weitere Grundoperation
    j ← j - 1 ------ letzte Grundoperation innerhalb der 1. while-Schleife

    Betrachten Sie nun die Zeit,

    1+ N + N -1 + N-1 + 1 = 3N

    innerhalb der while-Schleife , braucht 3N (N ist nur eine große Zahl, wenn wir einen großen Wert von n annehmen)
    Y ← 0
    j ← n
    while j >= 1 do {
      k ← 0
      while k < n*n do {
      y ← y + j - k
      k ← k + 1
      }
    j ← j - 1
    }

    Y ← 0
    j ← n

    nehme nun den 1. Algorithmus als Ganzes ,

    jetzt für n-Wert 1 benötigt der Gesamtalgorithmus 3N-mal,
    jetzt für n-Wert 2 dauert der Gesamtalgorithmus 2*3N-mal
    usw.
    Für den Wert n
    n * 3N = 3 N2 (drei N Quadrate) so schließlich können wir sagen, der oerder dieses Algorithmus ist n quadrat.
  • Frohes neues Jahr und Frieden euch allen! Können Sie mir bitte erklären, was die Ausführungszeit T(n) der 3 Algorithmen ist?

    Algorithmus 1:
    Y ← 0
    j ← n
    while j >= 1 do {
      k ← 0
      while k < n*n do {
      y ← y + j - k
      k ← k + 1
      }
    j ← j - 1
    }
    return y

    Algorithmus 2 :
    Für I ← 1 bis n do
      für j ← 1 bis I do
      für k ← j bis I+j do
      a ← a + 1
      Ende für
      Ende für
    Ende für

    Algorithmus 3:
    Für I ← 1 bis m do
      für j ← 1 bis i2 do
      für k ← 1 bis j do
      b ← b + 1
      Ende für
      Ende für
    Ende für

Schreibe deine Antwort

Ihre Antwort erscheint nach der Moderation appear