R. Der Algorithmen und Datenstrukturen (Magister) 1 3. Kapitel: Komplexität und...

of 23/23
R. Der Algorithmen und Datenstrukturen (Magister) 1 3. Kapitel: Komplexität und Komplexitätsklassen Komplexität, O-Notation Relevante Eigenschaften von Algorithmen: Korrektheit, Terminierung, Komplexität Maße für Komplexität: benötigter Speicherplatz, benötigte Rechenzeit (Laufzeitkomplexität) Schwierigkeit: abhängig von Rechner, Programmiersprache
  • date post

    05-Apr-2015
  • Category

    Documents

  • view

    104
  • download

    0

Embed Size (px)

Transcript of R. Der Algorithmen und Datenstrukturen (Magister) 1 3. Kapitel: Komplexität und...

  • Folie 1
  • R. Der Algorithmen und Datenstrukturen (Magister) 1 3. Kapitel: Komplexitt und Komplexittsklassen Komplexitt, O-Notation Relevante Eigenschaften von Algorithmen : Korrektheit, Terminierung, Komplexitt Mae fr Komplexitt: bentigter Speicherplatz, bentigte Rechenzeit (Laufzeitkomplexitt) Schwierigkeit : abhngig von Rechner, Programmiersprache
  • Folie 2
  • R. Der Algorithmen und Datenstrukturen (Magister) 2 Mglichkeit 1: Definition eines idealisierten Modellrechners => RAM (random access machine) Befehlssatz hnlich Assembler (Laden, Speichern, arithmetische Verknpfung von Registerinhalten, Sprnge), unendliche Menge von Speicherzellen, die natrliche oder reelle Zahlen speichern, Speicherplatz => Zahl der bentigten RAM-Zellen Laufzeit => Zahl der ausgefhrten RAM-Befehle Mglichkeit 2: Genaue Ermittlung bestimmter die Laufzeit charakterisierender Parameter (Beispiel: Sortieren -> Anzahl der Vergleichsoperationen)
  • Folie 3
  • R. Der Algorithmen und Datenstrukturen (Magister) 3 Hier: keine Formulierung der Alg. als RAM-Programme, Abschtzung der Laufzeit mit Schwerpunkt Wachstum der Laufzeit in Abhngigkeit von Eingabegre Komplexitt abhngig von Eingabegre. Einheitskostenma: nur Anzahl der Daten bercksichtigt (etwa Anzahl zu sortierender Zahlen) log. Kostenma:auch Gre der Daten relevant (etwa Lnge von Zahlen im Binrcode) worst case, average case, best case Analysen, amortisierte Kosten In der Regel gengt die Angabe der Grenordnung der Komplexitt, wobei es auf konstante Faktoren nicht ankommt.
  • Folie 4
  • R. Der Algorithmen und Datenstrukturen (Magister) 4 Beispiel: Maximum Subarray Problem gegeben: Folge X von ganzen Zahlen der Lnge n gesucht: maximale Summe der Elemente einer zusammenhngenden Teilfolge Naiver Algorithmus: int o,u; double summe, maxtsumme = 0; for (u = 0; u < N; u++) for (o = u; o < N; o++) { /* bestimme Summe der Elemente in Teilfolge X[u.. o] */ summe = 0; for (i = u; i
  • R. Der Algorithmen und Datenstrukturen (Magister) 6 O-Notation: Seien f,g: N -> R + Funktionen. Wir definieren: O(f) = {g | c > 0, n 0 > 0 : g(n) = n 0 } In Worten: Die Funktion g ist von der Ordnung f, wenn fr alle n> n 0 eine positive Konstante c existiert, so dass g(n) 0, n 0 > 0 : g(n) >= cf(n) n>= n 0 } 0 : unendlich viele n: g(n)>= cf(n)} Beispie">
  • R. Der Algorithmen und Datenstrukturen (Magister) 7 Alternativdefinition Ottmann/Widmayer: (f) = {g | c > 0 : unendlich viele n: g(n)>= cf(n)} Beispiel: f(n) = 1 falls n gerade, n 2 sonst. Originaldefinition liefert f = (1), Alternativdefinition f = (n 2 ). Abschtzung von oben und unten (exakte Schranke) (f) = O(f) (f) g aus (f) bedeutet also: die Funktion g verluft ab einem Anfangswert n 0 im Bereich [c 1 f,c 2 f] fr geeignete Konstanten c 1, c 2.
  • Folie 8
  • R. Der Algorithmen und Datenstrukturen (Magister) 8 Leistungsverhalten bei kleiner Eingabegre Asymptotische Komplexitt gilt vor allem fr groe n bei kleineren Problemen haben konstante Parameter wesentlichen Einflu Verfahren mit besserer ( asympt. ) Komplexitt kann schlechter abschneiden als Verfahren mit schlechter Komplexitt T ( n )Bereiche von n mit gnstiger Zeitkomplexitt 186182 log 2 n n > 2048 1000 n 1024 0 then scanmax := scanmax + X[i] else scanmax := 0; bismax := max(scanmax, bismax) end