1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Berechnung der Laufzeit u. die Bestimmung der Ordnung eines Programmes

  • Gazza
  • 8. Januar 2017 um 17:54
  • Unerledigt
  • Gazza
    2
    Gazza
    Mitglied
    Punkte
    15
    Beiträge
    2
    • 8. Januar 2017 um 17:54
    • #1

    Hallo zusammen,

    ich würde bitte dringend Eure Hilfe benötigen.

    Gegeben ist der der untenstehende Code mit fiktiv gemessenen Laufzeiten:

    Code
    int aufgabe1 (int n)
    {                       // Zeit in msec
       int count = 0;       // T1 = 0.2
       int max = n+1;       // T2 = 0.3
       for (int i = 1; i < max; i++) // T3 = 0.4
       {
          for (int j = 1; j < i; j++) // T4 = 0.4
          {
             for (int k = 1; k < 5; k++) // T5 = 0.4
             {         
                count = count + 1;       // T6 = 0.2
             }
          }
       }
    }
    return count;           // T7 = 0.3
    }
    Alles anzeigen

    Nun muss ich eine geschlossene Formel für die Berechnung der Laufzeit bestimmen + die Ordnung des Programms.

    Ich würde hierfür bitte dringend Unterstützung benötigen.

    Danke!


    lG
    Gazza

  • stackoverflow
    5
    stackoverflow
    Mitglied
    Reaktionen
    8
    Punkte
    258
    Beiträge
    49
    • 9. Januar 2017 um 18:37
    • #2

    Tipp: die innerste Schleife läuft immer 4mal, also konstant O(1). Die mittlere Schleife läuft beim ersten Mal (erster Durchlauf äußere Schleife) 0mal, beim zweiten Mal 1mal, beim dritten Mal 2mal, ... bis schließlich n-1 mal. Du brauchst also nur die Zahlen von 0...n-1 aufsummieren (Summenformel von Gauß) und erhältst O(n^2).

  • Gazza
    2
    Gazza
    Mitglied
    Punkte
    15
    Beiträge
    2
    • 16. Januar 2017 um 07:53
    • #3
    Zitat von stackoverflow

    Tipp: die innerste Schleife läuft immer 4mal, also konstant O(1). Die mittlere Schleife läuft beim ersten Mal (erster Durchlauf äußere Schleife) 0mal, beim zweiten Mal 1mal, beim dritten Mal 2mal, ... bis schließlich n-1 mal. Du brauchst also nur die Zahlen von 0...n-1 aufsummieren (Summenformel von Gauß) und erhältst O(n^2).

    Perfekt, danke!

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung