Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.

Ähnliche Präsentationen


Präsentation zum Thema: "Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas."—  Präsentation transkript:

1 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas Hilpold Institut für Wirtschaftsinformatik Software Engineering JKU Linz Termin 9 – Laufzeitkomplexität

2 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 2 Lösung Übung 7 Themenbereiche heute Laufzeitkomplexität Übungsbesprechung Übung 9 Übersicht

3 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 3 Lösung Ü7

4 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 4 Komplexität Allgemeines Speicherkomplexität Laufzeitkomplexität Laufzeit = f(Problemgröße) typ. Größe der Datenmenge O-Notation gibt Obergrenze für Laufzeit an. Konstanten werden weggelassen

5 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 5 Komplexität Beispiele für Laufzeitkomplexität BezeichnungOWertungBeispiel konstante Komp.O(1)optimal, selten Hashing, Prepend Logarithmische K.O( log n )Sehr günstigBinäres Suchen Lineare Komp.O( n )GünstigLineares Suchen Leicht überlinearO(n log n)Noch gutGutes Sortierverfahren Quadratische K.O( n 2 )UngünstigSchlechtes Sortierverfahren Kubische K.O( n 3 )UngünstigMatrizenmultiplikation Exponentielle K.O( a n )KatastrophalRundreiseproblem

6 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 6 Komplexität einige Aussagen wenn P(n) ein Polynom m. Grades ist, so gilt P(n) = O(n m ) a n wächst stärker als jedes Polynom -> kein polynomialer Algorithmus log n wächst schwächer als n, egal welche Basis

7 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 7 Laufzeitkomplexität Beispiele nO(n)O(n2)O(2^n) 1 1  sec  sec100  sec ca. 1 msec  sec 10 msec4*10 6 Jahre msec1 sec3,4* Jahre

8 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 8 Laufzeitkomplexität grafische Darstellung (kleine Problemgrößen)

9 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 9 Laufzeitkomplexität grafische Darstellung (große Problemgrößen)

10 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 10 Bestimmen der Laufzeitkomplexität For - Schleife Annahme: eine Operation A hat einen konstanten Zeitbedarf. Die Laufzeit für A soll also unabhängig von den Werten der Laufvariablen sein. for (int i = 1..n) { A } Laufzeitkomplexität:O(N), Linear

11 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 11 Bestimmen der Laufzeitkomplexität For – Schleife (2) for (int i = 1..n) { for (int j = 1..n) { A } Laufzeitkomplexität: O(N 2 ), quadratisch

12 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 12 Bestimmen der Laufzeitkomplexität For – Schleife (3) for (int i = 1..n) { for (int j = 1.. i ) { A } geschachtelt, innere Schleife hat variable Obergrenze ???Laufzeitkomplexität:

13 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 13 Bestimmen der Laufzeitkomplexität For – Schleife (3) for (int i = 1..n) { for (int j = 1.. i ) { A } geschachtelt, innere Schleife hat variable Obergrenze ???Laufzeitkomplexität:

14 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 14 Bestimmen der Laufzeitkomplexität binäre suche while (i

15 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 15 Bestimmen der Laufzeitkomplexität an der Tafel

16 Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 16 Übung 9 ad 1) Feinanalyse – Suchverfahren analog zur Vorlesung ad 2) asymptotische Laufzeitkomplexität - praktische Betrachtung gegeben O-Notation, Zeit für n = 10; zu berechnen für mehrere n ad 3) Grobanalyse asymptotische Laufzeitkomplexität für einen iterativen und einen rekursiven Algorithmus. gesucht: Anzahl der Schleifendruchläufe, Anzahl der rek. Aufrufe, z.B. Aufrufbaum überlegen, Anzahl der Knoten. ad 4) 2 Algorithmen zum Potenzieren


Herunterladen ppt "Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas."

Ähnliche Präsentationen


Google-Anzeigen