Algorithmen und Datenstrukturen 1-1. Seminar -

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Datenstrukturen 1-1. Seminar -"

Transkript

1 Algorithmen und Datenstrukturen 1-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10

2 Inhalt der ersten beiden Vorlesungen Algorithmenbegriff Komplexität, Asymptotik Suchverfahren (in Listen)

3 Wiederholung: Asymptotik Grundsätzlich worst case Betrachtungen, Abschätzung oberer Schranken: Groß-Oh-Notation

4 Wiederholung: Asymptotik Grundsätzlich worst case Betrachtungen, Abschätzung oberer Schranken: Groß-Oh-Notation Zeitkomplexität T(n) eines Algorithmus ist von der Größenordnung n, wenn es Konstanten n 0 und c > 0 gibt, so daß für alle Werte von n > n 0 gilt: T(n) c n T(n) ist in O(n) (T(n) O(n) oder T(n) = O(n))

5 Wiederholung: Asymptotik Grundsätzlich worst case Betrachtungen, Abschätzung oberer Schranken: Groß-Oh-Notation Zeitkomplexität T(n) eines Algorithmus ist von der Größenordnung n, wenn es Konstanten n 0 und c > 0 gibt, so daß für alle Werte von n > n 0 gilt: T(n) c n T(n) ist in O(n) (T(n) O(n) oder T(n) = O(n)) große n, Komplexitätsklassen 5x groß ist immer noch groß vernachlässige Konstanten

6 Wiederholung: Asymptotik Klasse O(f ), alle Funktionen der Größenordnung f : O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)}

7 Wiederholung: Asymptotik Klasse O(f ), alle Funktionen der Größenordnung f : O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)}

8 Wiederholung: Asymptotik Klasse O(f ), alle Funktionen der Größenordnung f : O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)} O(f + g) = O(f ) + O(g) = O(max(f, g))

9 Wiederholung: Asymptotik Klasse O(f ), alle Funktionen der Größenordnung f : O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)} O(f + g) = O(f ) + O(g) = O(max(f, g)) Analog: Untere Schranken Ω(f ), exakte Schranken Θ(f )

10 Wiederholung: Asymptotik O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)}

11 Wiederholung: Asymptotik O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)} Beispiel: f (n) = 7n + 3, ges: O(f (n))?

12 Wiederholung: Asymptotik O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)} Beispiel: f (n) = 7n + 3, ges: O(f (n))? n n 0 : 7n + 3 cn

13 Wiederholung: Asymptotik O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)} Beispiel: f (n) = 7n + 3, ges: O(f (n))? n n 0 : 7n + 3 cn n c

14 Wiederholung: Asymptotik O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)} Beispiel: f (n) = 7n + 3, ges: O(f (n))? n n 0 : 7n + 3 cn n c n 0 = 3, c = 8

15 Wiederholung: Asymptotik O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)} Beispiel: f (n) = 7n + 3, ges: O(f (n))? n n 0 : 7n + 3 cn n c n 0 = 3, c = 8 f (n) O(n)

16 Wichtige Wachstumsfunktionen O(1) konstante Kosten billig O(logn) logarithmisches Wachstum O(n) lineares Wachstum O(n log n) n log n-wachstum O(n 2 ) quadratisches Wachstum O(n 3 ) kubisches Wachstum O(2 n ) exponentielles Wachstum teuer

17 Wichtige Wachstumsfunktionen Problemgröße 100, verschied. Algo. verfüg., Laufzeit?

18 Wichtige Wachstumsfunktionen Problemgröße 100, verschied. Algo. verfüg., Laufzeit? x * log(x) ^x x^3 x^2 x*log(x) x log(x)*log(x) log(x) x

19 Das Master-Theorem Hauptsatz der Laufzeitfunktionen In welcher Laufzeitklasse liegt eine gegebene Rekursion.

20 Das Master-Theorem Hauptsatz der Laufzeitfunktionen In welcher Laufzeitklasse liegt eine gegebene Rekursion. T(n) = at ( n b) + g(n), mit a 1, b 2, c > 0.

21 Das Master-Theorem Hauptsatz der Laufzeitfunktionen In welcher Laufzeitklasse liegt eine gegebene Rekursion. T(n) = at ( n b) + g(n), mit a 1, b 2, c > 0. Zerlege Problem der Größe n in b Teilprobleme.

22 Das Master-Theorem Hauptsatz der Laufzeitfunktionen In welcher Laufzeitklasse liegt eine gegebene Rekursion. T(n) = at ( n b) + g(n), mit a 1, b 2, c > 0. Zerlege Problem der Größe n in b Teilprobleme. Lösung des Gesamtproblems koste das a-fache der Lösung eines Teilproblems, Overhead Kosten g(n)

23 Das Master-Theorem Betrachte g(n), 2 Fälle: polynomial vs allgemein

24 Das Master-Theorem Betrachte g(n), 2 Fälle: polynomial vs allgemein Polynomial: d.h. g(n) = Θ(n k ), a 1, b 2: T(n) = at ( n b) + Θ(n k )

25 Das Master-Theorem Betrachte g(n), 2 Fälle: polynomial vs allgemein Polynomial: d.h. g(n) = Θ(n k ), a 1, b 2: ( n Θ(n T(n) = at + Θ(n b) k ) falls a < b k k ) = Θ(n k log n) falls a = b k Θ(n log b (a) ) falls a > b k

26 Das Master-Theorem Betrachte g(n), 2 Fälle: polynomial vs allgemein Polynomial: d.h. g(n) = Θ(n k ), a 1, b 2: ( n Θ(n T(n) = at + Θ(n b) k ) falls a < b k k ) = Θ(n k log n) falls a = b k Θ(n log b (a) ) falls a > b k Das Master-Theorem sind im Prinzip Regeln, die aussagen, welches Laufzeitverhalten der Algorithmus hat. Die Laufzeit wird abhänging von der Größe der einzelnen Teilprobleme, der Anzahl der entstandenen Teilprobleme und der Rechenzeit für die Erstellung bzw. Zusammenführung dieser Teilprobleme bestimmt. Es gilt: Wenn die Teilprobleme summiert kleiner sind als das Orignialproblem und die Erstellung der Teilprobleme auch nur linare Zeit beansprucht, so kann der ganze Algorithmus in linearer Zeit ausgeführt werden. Wenn die Größe der Teilprobeme der Größe des Orignialproblems entspricht und der Aufwand, diese Teilprobleme zu erstellen, linear bleibt, so ist der Gesamtaufwand Θ(n log n). Werden die einzelnen Teilprobleme in der Summe größer, als das Orignalproblem, so ist klar, dass wir noch mehr Laufzeit benötigen.

27 Das Master-Theorem Allgemein: sei u = log b (a)

28 Das Master-Theorem Allgemein: sei u = log b (a) falls g(n) = O(n u ǫ ), ǫ > 0, dann ist T(n) = Θ(n u ). falls g(n) = Θ(n u ), dann ist T(n) = Θ(n u log n) falls g(n) = Ω(n u+ǫ ) für ein ǫ > 0 und ag( n b ) cg(n), dann ist T(n) = Θ(g(n))

29 Das Mastertheorem Achtung: Das Master-Theorem kann nicht immer angewandt werden, beispielsweise dann nicht, wenn

30 Das Mastertheorem Achtung: Das Master-Theorem kann nicht immer angewandt werden, beispielsweise dann nicht, wenn T(n) nicht monoton steigend ist, z.b.: T(n) = sin(n)

31 Das Mastertheorem Achtung: Das Master-Theorem kann nicht immer angewandt werden, beispielsweise dann nicht, wenn T(n) nicht monoton steigend ist, z.b.: T(n) = sin(n) g(n) kein Polynom ist, z.b.: T(n) = 2T( n 2 ) + 2n

32 Das Mastertheorem Achtung: Das Master-Theorem kann nicht immer angewandt werden, beispielsweise dann nicht, wenn T(n) nicht monoton steigend ist, z.b.: T(n) = sin(n) g(n) kein Polynom ist, z.b.: T(n) = 2T( n 2 ) + 2n b keine Konstante ist, z.b.: T(n) = T( n)

33 Suche in sortierten, linearen Listen Problem: Gegeben Folge F = (a 1 ;...;a n ). Finde das Element mit Schlüssel k.

34 Suche in sortierten, linearen Listen Problem: Gegeben Folge F = (a 1 ;...;a n ). Finde das Element mit Schlüssel k. Lineare Liste Sequentielle Suche Binäre Suche Sprungsuche Exponentielle Suche Interpolationssuche

35 Array vs verkette Liste Lineare Liste

36 Lineare Liste Array vs verkette Liste Eigenschaft Array Liste Art statisch dynamisch Größenänderung nicht möglich problemlos möglich Einfügen / Löschen langsam schnell Zugriff auf n-tes Element schnell langsam binäre Suche möglich nicht möglich Element-Typen alle gleich kann unterschiedlich sein

37 Einfügen in verkettete Liste: Lineare Liste

38 Lineare Liste Einfügen in verkettete Liste: Löschen in verketteter Liste:

39 Sequenzielle Suche Hilft wenn Liste unsortiert, naiver Ansatz, Liste durchlaufen jedes Element ansehen.

40 Sequenzielle Suche Hilft wenn Liste unsortiert, naiver Ansatz, Liste durchlaufen jedes Element ansehen. Mittlere Anzahl von Schlüsselvergleichen bei erfolgreicher Suche C avg (n) = 1 n n i = n i=1

41 Binäre Suche Effizient: Verbesserung von O(n) (Seq. Suche) auf O(log n) (Bin. Suche)

42 Binäre Suche Effizient: Verbesserung von O(n) (Seq. Suche) auf O(log n) (Bin. Suche)

43 Sprungsuche

44 n-ebenen Sprungsuche Beispiel: 2-Ebenen Sprungsuche Wende Sprungsuche auch im lokalisierten Abschnitt an.

45 n-ebenen Sprungsuche Beispiel: 2-Ebenen Sprungsuche Wende Sprungsuche auch im lokalisierten Abschnitt an. Warum nicht gleich Binärsuche?

46 n-ebenen Sprungsuche Beispiel: 2-Ebenen Sprungsuche Wende Sprungsuche auch im lokalisierten Abschnitt an. Warum nicht gleich Binärsuche? Binärsuche nicht immer anwendbar, z.b. bei blockweisem Einlesen der Daten von Externspeicher, für Binärsuche müssen alle Daten verfügbar sein.

47 Exponentielle Suche

48 Interpolationssuche Idee: Schätze Abstand zum nächsten Suchschlüssel.

49 Interpolationssuche Idee: Schätze Abstand zum nächsten Suchschlüssel. Position = Anzahl der Elemente Anzahl verschiedene Elemente gesuchter Wert

50 1. Übungsserie 4 Aufgaben, insgesamt 35 Punkte A1, Groß-Oh-Notation, 10 Punkte A2, Master-Theorem, 10 Punkte A3, Durchführung Binärsuche, 10 Punkte A4, Modifikation Binärsuche, 5 Punkte

51 Aufgabe 1 Gegeben sind die folgenden 6 Funktionen a) n n n + 2 b) n 3 n/2 c) n n3 log(n+19) d) n 19n 2 + n cos(πn) e) n 5 4 n + 2 log(3/(n+1)) f) n 10 7 n n+19 Bringen Sie die Funktionen in eine Reihenfolge f 1, f 2, f 3, f 4, f 5, f 6, so dass f 1 O(f 2 ), f 2 O(f 3 ), f 3 O(f 4 ) usw. Begründen sie kurz jede dieser 5 Beziehungen anhand der Definition des O-Symbols.

52 Aufgabe 1 - Lösung f 1 (n) = 10 7 n O(1) n+19 f 2 (n) = 5 4 n + 2 log(3/(n+1)) O(n 1 4) f 3 (n) = n n + 2 O(n 1.5 ) f 4 (n) = 19n 2 + n cos(πn) O(n 2 ) f 5 (n) = n 3 log(n+19) O(n3 ) f 6 (n) = 3 n/2 O(3 n )

53 Aufgabe 2 Gegeben seien die folgenden Rekursionsgleichungen jeweils für eine Funktion T. (a) T(n) = 9T(n/3) + 2n 2 + n (b) T(n) = T(n/2) + n (c) T(n) = 27T(n/3) + 100n 2 + n (d) T(n) = nt(n 1) (e) T(n) = T(n/2) + log 2 n Bestimmen Sie jeweils eine exakte Schranke für das Verhalten von T. Finden Sie also eine Funktion f, so daß T Θ(f ). In den Fällen, wo die polynomiale Version des Master-Theorems anwendbar ist, benutzen Sie dieses zum Finden von f und geben a, b und k an.

54 Aufgabe 2 - Lösung (a) a = 9, b = 3, k = 2, also a = b k ( mittlerer Fall im pol. MT.) T(n) Θ(n k log n) = Θ(n 2 log n)

55 Aufgabe 2 - Lösung (a) a = 9, b = 3, k = 2, also a = b k ( mittlerer Fall im pol. MT.) T(n) Θ(n k log n) = Θ(n 2 log n) (b) a = 1, b = 2, k = 5, also a < b k ( oberer Fall im pol. MT.) T(n) Θ(n k ) = Θ(n 5 )

56 Aufgabe 2 - Lösung (a) a = 9, b = 3, k = 2, also a = b k ( mittlerer Fall im pol. MT.) T(n) Θ(n k log n) = Θ(n 2 log n) (b) a = 1, b = 2, k = 5, also a < b k ( oberer Fall im pol. MT.) T(n) Θ(n k ) = Θ(n 5 ) (c) a = 27, b = 3, k = 2, also a > b k ( unterer Fall im pol. MT.) T(n) Θ(n log b a ) = Θ(n 3 )

57 Aufgabe 2 - Lösung (d) T(n) = nt(n 1) Master-Theorem nicht anwendbar, aber da steht implizit die Definition der Fakultät, also T(n) Θ(n!) Mit Anfangsb. T(1) = 1 bekommt man genau T(n) = n!

58 (e) T(n) = T(n/2) + log 2 n Aufgabe 2 - Lösung

59 Aufgabe 2 - Lösung (e) T(n) = T(n/2) + log 2 n Wieder nichts für das polynomiale MT, seufz. (g(n) ist kein Polynom)

60 Aufgabe 2 - Lösung (e) T(n) = T(n/2) + log 2 n Wieder nichts für das polynomiale MT, seufz. (g(n) ist kein Polynom) Betrachte transformierte Funktion U mit U(n) = T(2 n ), also U(log 2 n) = T(n).

61 Aufgabe 2 - Lösung (e) T(n) = T(n/2) + log 2 n Wieder nichts für das polynomiale MT, seufz. (g(n) ist kein Polynom) Betrachte transformierte Funktion U mit U(n) = T(2 n ), also U(log 2 n) = T(n). Rekursionsgleichung für U: U(l) = U(l 1) + l

62 Aufgabe 2 - Lösung (e) T(n) = T(n/2) + log 2 n Wieder nichts für das polynomiale MT, seufz. (g(n) ist kein Polynom) Betrachte transformierte Funktion U mit U(n) = T(2 n ), also U(log 2 n) = T(n). Rekursionsgleichung für U: U(l) = U(l 1) + l Mit Anfangsbedingung U(1) = 1 ist U(l) = l(l + 1)/2.

63 Aufgabe 2 - Lösung (e) T(n) = T(n/2) + log 2 n Wieder nichts für das polynomiale MT, seufz. (g(n) ist kein Polynom) Betrachte transformierte Funktion U mit U(n) = T(2 n ), also U(log 2 n) = T(n). Rekursionsgleichung für U: U(l) = U(l 1) + l Mit Anfangsbedingung U(1) = 1 ist U(l) = l(l + 1)/2. Rücktransformation T(n) = U(log 2 n) = log 2 n(1 + log 2 n)/2, also

64 Aufgabe 2 - Lösung (e) T(n) = T(n/2) + log 2 n Wieder nichts für das polynomiale MT, seufz. (g(n) ist kein Polynom) Betrachte transformierte Funktion U mit U(n) = T(2 n ), also U(log 2 n) = T(n). Rekursionsgleichung für U: U(l) = U(l 1) + l Mit Anfangsbedingung U(1) = 1 ist U(l) = l(l + 1)/2. Rücktransformation T(n) = U(log 2 n) = log 2 n(1 + log 2 n)/2, also T(n) Θ((log 2 n) 2 )

65 T(n) = 2T(n/4) + n + 42 Weiteres Beispiel MT

66 T(n) = 2T(n/4) + n + 42 a = 2, b = 4, k = 1/2 Weiteres Beispiel MT

67 Weiteres Beispiel MT T(n) = 2T(n/4) + n + 42 a = 2, b = 4, k = 1/2 2 = 4 1/2, also a = b k mittlerer Fall im pol. MT T(n) Θ(n k logn) T(n) = Θ( nlogn)

68 Aufgabe 3 Binärsuche auf f[] = [1, 2, 4, 5, 8, 11, 14, 17, 19, 23, 25, 31, 37, 41, 43, 47] gesucht: (a) x=14 (b) x=45 Geben Sie für beide Teilaufgaben, die initialen Funktionsaufrufe von binsearch an, d.h. überlegen Sie sich wie l und r anfangs zu belegen sind und protokollieren Sie für jeden Rekursionsaufruf die Werte der Variablen l, r und p, sowie den Rückgabe Wert von binsearch.

69 Aufgabe 3 public class Search { public static int binsearch (int[] f, int x, int l, int r) { int p=(l+r)/2; int c=(f[p]<=x? f[p]==x? 0 : 1 : -1); if (c==0) return(p); if (l==r) return(-1); if (c<0) { if (p>l) return(binsearch(f,x,l,p-1)); else return(-1); } else { if (p<r) return(binsearch(f,x,p+1,r)); else return(-1); } } }

70 Aufgabe 3 - Lösung Aufgabe (3a) Gesucht: 14 mit Aufruf von binsearch(f, x=14, l=0, r=15 ), p

71 Aufgabe 3 - Lösung Aufgabe (3a) Gesucht: 14 mit Aufruf von binsearch(f, x=14, l=0, r=15 ), p index behaviour searchspace

72 Aufgabe 3 - Lösung Aufgabe (3a) Gesucht: 14 mit Aufruf von binsearch(f, x=14, l=0, r=15 ), p index behaviour searchspace Ausgabe: 6 (f gibt bei erfolgreicher Suche die jeweilige Array Position zurück, sonst -1.)

73 Aufgabe 3 - Lösung Aufgabe (3b) Gesucht: 45 mit Aufruf von binsearch(f, x=45, l=0, r=15 ), p

74 Aufgabe 3 - Lösung Aufgabe (3b) Gesucht: 45 mit Aufruf von binsearch(f, x=45, l=0, r=15 ), p index behaviour searchspace

75 Aufgabe 3 - Lösung Aufgabe (3b) Gesucht: 45 mit Aufruf von binsearch(f, x=45, l=0, r=15 ), p index behaviour searchspace Ausgabe: -1

76 Aufgabe 4 Eine lineare Liste L[] der Länge n sei wie folgt teilsortiert: Für alle Indizes k, l {1,..., n} gilt a[k] > a[l] k l 1 Wenn also zwei Elemente in der falschen Reihenfolge stehen, dann steht das Größere direkt vor dem Kleineren. Geben Sie eine möglichst einfache Modifikation der Binärsuche aus der Vorlesung an, die L[] auf das Vorhandensein eines gegebenen Schlüssels überprüft. Die maximalen Kosten (Laufzeit) sollen in O(log n) liegen.

77 Was heißt das eigentlich? Aufgabe 4 - Lösung

78 Aufgabe 4 - Lösung Was heißt das eigentlich? erlaubt erlaubt verboten

79 Aufgabe 4 - Lösung Was heißt das eigentlich? erlaubt erlaubt verboten Nur lokale Vertauschungen sind erlaubt!

80 Aufgabe 4 - Lösung Zusammen mit der Nummerierung der Listenelemente von 1 bis n ist die Formel m = n/2 zu benutzen. if Liste == <> then exit( erfolglos ) n = length(liste); m = ceiling(n/2) if (x==l[m]) exit( erfolgreich ) if (x<l[m]) { if (m<n && x==l[m+1]) exit( erfolgreich ) else search(x, SubList(L,1..m-1)) } if (x>l[m]) { if (m>1 && x==l[m-1]) exit( erfolgreich ) else search(x, SubList(L,m+1..n)) } Die Anzahl der rekursiven Aufrufe ist identisch zur binären Suche O(log n). Nur die Anzahl der Vergleiche pro Aufruf erhöht sich (im schlimmsten Fall) um einen Faktor 2.

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern Datenstrukturen und Algorithmen 7. Suchen in linearen Feldern VO 708.031 Suchen in linearen Feldern robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische

Mehr

2. Effizienz von Algorithmen

2. Effizienz von Algorithmen Effizienz von Algorithmen 2. Effizienz von Algorithmen Effizienz von Algorithmen, Random Access Machine Modell, Funktionenwachstum, Asymptotik [Cormen et al, Kap. 2.2,3,4.2-4.4 Ottman/Widmayer, Kap. 1.1]

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe

Mehr

Komplexität von Algorithmen:

Komplexität von Algorithmen: Komplexität von Algorithmen: Ansatz: Beschreiben/erfassen der Komplexität über eine Funktion, zur Abschätzung des Rechenaufwandes abhängig von der Größe der Eingabe n Uns interessiert: (1) Wie sieht eine

Mehr

Algorithmen und Datenstrukturen I Grundlagen

Algorithmen und Datenstrukturen I Grundlagen Algorithmen und Datenstrukturen I Grundlagen Prof. Dr. Oliver Braun Letzte Änderung: 01.11.2017 14:15 Algorithmen und Datenstrukturen I, Grundlagen 1/24 Algorithmus es gibt keine präzise Definition Handlungsvorschrift

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 27.10.2011 stefan.klampfl@tugraz.at 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Große Übung #6 Phillip Keldenich, Arne Schmidt 26.02.2017 Heute: Master-Theorem Phillip Keldenich, Arne Schmidt Große Übung 2 Vorbetrachtungen Wir betrachten rekursive Gleichungen

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Akuter Denk-Stau Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Notation für das asymptotische Verhalten von Funktionen

Notation für das asymptotische Verhalten von Funktionen Vorbemerkungen: Notation für das asymptotische Verhalten von Funktionen 1. Aussagen über die Komplexität von Algorithmen und von Problemen sollen (in der Regel) unabhängig von speziellen Maschinenmodellen

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 9, Donnerstag 18.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 9, Donnerstag 18. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 9, Donnerstag 18. Dezember 2014 (Teile und Herrsche, Mastertheorem) Junior-Prof. Dr.

Mehr

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1) für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Asymptotische Komplexität): Ordnen Sie die folgenden Funktionen nach

Mehr

f 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2

f 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2 Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Präsenzübung.05.0 F. Corzilius, S. Schupp, T. Ströder Aufgabe (Asymptotische Komplexität): (6 + 0 + 6 = Punkte) a) Geben Sie eine formale

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen 1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 2. Vorlesung Prof. Dr. Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Einfache Suchverfahren Lineare Listen Sequentielle Suche

Mehr

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO Wiederholung Datenstrukturen und Algorithmen VO 708.031 Suchen in linearen Feldern Ohne Vorsortierung: Sequentielle Suche Speicherung nach Zugriffswahrscheinlichkeit Selbstanordnende Felder Mit Vorsortierung:

Mehr

Komplexität von Algorithmen OOPM, Ralf Lämmel

Komplexität von Algorithmen OOPM, Ralf Lämmel Ganz schön komplex! Komplexität von Algorithmen OOPM, Ralf Lämmel 885 Motivierendes Beispiel Algorithmus Eingabe: ein Zahlen-Feld a der Länge n Ausgabe: Durchschnitt Fragen: sum = 0; i = 0; while (i

Mehr

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer Institut für Informatik Georges-Köhler-Allee Albert-Ludwigs-Universität Freiburg

Mehr

Fibonacci-Suche. Informatik I. Fibonacci-Suche. Fibonacci-Suche. Einführung. Rainer Schrader. 24. Mai 2005

Fibonacci-Suche. Informatik I. Fibonacci-Suche. Fibonacci-Suche. Einführung. Rainer Schrader. 24. Mai 2005 Fibonacci-Suche Informatik I Einführung Rainer Schrader Zentrum für Angewandte Informatik Köln 4. Mai 005 Grundidee wie bei der Binärsuche, aber andere Aufteilung Fibonacci-Zahlen: F 0 = 0 F 1 = 1 F m

Mehr

3.3 Laufzeit von Programmen

3.3 Laufzeit von Programmen 3.3 Laufzeit von Programmen Die Laufzeit eines Programmes T(n) messen wir als die Zahl der Befehle, die für die Eingabe n abgearbeitet werden Betrachten wir unser Programm zur Berechnung von Zweierpotenzen,

Mehr

Informatik II. Algorithmen und Datenstrukturen. Vorläufige Version 1 c 2002 Peter Thiemann

Informatik II. Algorithmen und Datenstrukturen. Vorläufige Version 1 c 2002 Peter Thiemann Informatik II Algorithmen und Datenstrukturen Vorläufige Version 1 c 2002 Peter Thiemann 1 Einführung 1.1 Inhalt Wichtige Datentypen und ihre Implementierung (Datenstrukturen) Operationen auf Datenstrukturen

Mehr

lim log 2n n = > 0 Da es einen Limes gibt, gibt es auch einen Limes inferior, der gleich diesem Limes ist.

lim log 2n n = > 0 Da es einen Limes gibt, gibt es auch einen Limes inferior, der gleich diesem Limes ist. Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Jonathan Heinen, Thomas Ströder, Sabrina von Styp Aufgabe 1 (O-Notation): Beweisen oder widerlegen Sie die folgenden Aussagen: (3 + 3 + 4 = 10 Punkte)

Mehr

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Technische Universität München Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften

Mehr

es gibt Probleme, die nicht berechenbar sind (z.b. Menge aller Funktionen N N und die Menge aller Sprachen sind überabzählbar)

es gibt Probleme, die nicht berechenbar sind (z.b. Menge aller Funktionen N N und die Menge aller Sprachen sind überabzählbar) Komplexitätstheorie es gibt Probleme, die nicht berechenbar sind (z.b. Menge aller Funktionen N N und die Menge aller Sprachen sind überabzählbar) andere Probleme sind im Prinzip berechenbar, möglicherweise

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Suchen in Datenmengen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.

Mehr

Suchen und Sortieren

Suchen und Sortieren Suchen und Sortieren Suchen Sortieren Mischen Zeitmessungen Bewertung von Sortier-Verfahren Seite 1 Suchverfahren Begriffe Suchen = Bestimmen der Position (Adresse) eines Wertes in einer Datenfolge Sequentielles

Mehr

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen

Mehr

V. Claus, Juli 2005 Einführung in die Informatik II 45

V. Claus, Juli 2005 Einführung in die Informatik II 45 Um die Größenordnung einer reellwertigen oder ganzzahligen Funktion zu beschreiben, verwenden wir die so genannten Landau-Symbole (nach dem deutschen Mathematiker Edmund Landau, 1877-1938). Hierbei werden

Mehr

2 Wachstumsverhalten von Funktionen

2 Wachstumsverhalten von Funktionen Algorithmen und Datenstrukturen 40 2 Wachstumsverhalten von Funktionen Beim Vergleich der Worst-Case-Laufzeiten von Algorithmen in Abhängigkeit von der Größe n der Eingabedaten ist oft nur deren Verhalten

Mehr

Informatik I Komplexität von Algorithmen

Informatik I Komplexität von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Algorithmen und Datenstrukturen Teil 3 Suchen in Listen Version vom: 15. November 2016

Mehr

Algorithmen und Datenstrukturen Effizienz und Funktionenklassen

Algorithmen und Datenstrukturen Effizienz und Funktionenklassen Algorithmen und Datenstrukturen Effizienz und Funktionenklassen Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Lernziele der Vorlesung Algorithmen Sortieren,

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Organisatorisches Vorlesung: Montag 11 13 Uhr Ulf Leser RUD 26, 0 115 Mittwoch 11 13 Uhr Ulf Leser RUD

Mehr

Algorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing

Algorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing Algorithmen I Tutorium 1-3. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-02 Überblick 1 Sortieren und Suchen 2 Mastertheorem 3 Datenstrukturen 4 Kreativaufgabe

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Übungsklausur Algorithmen I

Übungsklausur Algorithmen I Universität Karlsruhe, Institut für Theoretische Informatik Prof. Dr. P. Sanders 26.5.2010 svorschlag Übungsklausur Algorithmen I Hiermit bestätige ich, dass ich die Klausur selbständig bearbeitet habe:

Mehr

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin Maike.Buchin@rub.de Raum NA 1/70 Sprechzeiten:

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind

Mehr

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. 2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum

Mehr

Kapitel 9 Suchalgorithmen

Kapitel 9 Suchalgorithmen Kapitel 9 Suchalgorithmen Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für Suchverfahren: u.a. Suchen in

Mehr

Laufzeit und Komplexität

Laufzeit und Komplexität Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Kap. 3: Sortieren. Überblick. Unser Sortierproblem. Motivation. Laufzeitmessung. Warum soll ich hier bleiben? Sortierverfahren sind WICHTIG!!!

Kap. 3: Sortieren. Überblick. Unser Sortierproblem. Motivation. Laufzeitmessung. Warum soll ich hier bleiben? Sortierverfahren sind WICHTIG!!! Kap. 3: Sortieren Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund Überblick Einführung in das Sortierproblem Insertion-Sort Selection-Sort Merge-Sort 4. VO

Mehr

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen

Mehr

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim

Mehr

Algorithmen & Datenstrukturen Midterm Test 2

Algorithmen & Datenstrukturen Midterm Test 2 Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Rekursion Rekursion Neue Denkweise Wikipedia: Als Rekursion bezeichnet man den Aufruf

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

Prof. Dr. Margarita Esponda

Prof. Dr. Margarita Esponda Die O-Notation Analyse von Algorithmen Die O-Notation Prof. Dr. Margarita Esponda Freie Universität Berlin ALP II: Margarita Esponda, 5. Vorlesung, 26.4.2012 1 Die O-Notation Analyse von Algorithmen Korrektheit

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen Uwe Quasthoff (ASV, Uni LE) ADS: Algorithmen und Datenstrukturen 10. Oktober 2017 1 / 44 ADS: Algorithmen und Datenstrukturen Uwe Quasthoff Institut für Informatik Abteilung Automatische Sprachverarbeitung

Mehr

Kap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009

Kap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009 Kap. 4.7 Skiplisten Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 14./15. VO DAP2 SS 2008 9./16. Juni 2009 1 2. Übungstest Termin: Di 16. Juni 2009 im AudiMax,

Mehr

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge

Mehr

2. Einfache Suchverfahren. Beispiel-Spezifikation in Java. Lineare Listen (2) Lineare Listen Sequentielle Suche Binäre Suche

2. Einfache Suchverfahren. Beispiel-Spezifikation in Java. Lineare Listen (2) Lineare Listen Sequentielle Suche Binäre Suche Lineare Listen Sequentielle Suche Binäre Suche. Einfache Suchverfahren Weitere Suchverfahren auf sortierten Feldern - Fibonacci-Suche - Sprungsuche - Exponentielle Suche - Interpolationssuche Auswahlproblem

Mehr

Algorithmen und Datenstrukturen Heapsort

Algorithmen und Datenstrukturen Heapsort Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung GdP12 Slide 1 Grundlagen der Programmierung Vorlesung 12 Sebastian Iwanowski FH Wedel GdP12 Slide 2 Entwurf von Algorithmen Wie klassifiziert man Algorithmen? offensichtlich nicht durch die Unterscheidung

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015 Datenstrukturen und Algorithmen Vorlesung 8: (K6) 1 Joost-Pieter Katoen Lehrstuhl für Informatik Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 7. Mai 015 3 Joost-Pieter

Mehr

4. Sortieren 4.1 Vorbemerkungen

4. Sortieren 4.1 Vorbemerkungen . Seite 1/21 4. Sortieren 4.1 Vorbemerkungen allgemeines Sortierproblem spezielle Sortierprobleme Ordne a 1,..., a n so um, dass Elemente in aufsteigender Reihenfolge stehen. Die a i stammen aus vollständig

Mehr

Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Algorithmenanalyse

Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Algorithmenanalyse Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Frank Heitmann heitmann@informatik.uni-hamburg.de 14. Oktober 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/48 Der Sprung ins Wasser...

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler

Mehr

Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 10 (Kapitel 11)

Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 10 (Kapitel 11) Fachrichtung 6.2 Informatik Universität des Saarlandes Tutorenteam der Vorlesung Programmierung 1 Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 10 (Kapitel 11) Hinweis: Dieses Übungsblatt enthält

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Algorithmen und Datenstrukturen 22.08.2013

Mehr

Informatik I Komplexität von Algorithmen

Informatik I Komplexität von Algorithmen Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz

Mehr

Suchen in linearen Feldern. Datenstrukturen & Algorithmen. Laufzeitverhalten der Suchverfahren. Anzahl der Vergleiche für 10 9 Elemente

Suchen in linearen Feldern. Datenstrukturen & Algorithmen. Laufzeitverhalten der Suchverfahren. Anzahl der Vergleiche für 10 9 Elemente Suchen in linearen Feldern Datenstruturen & Algorithmen VO 708.031 11. Vorlesung, am 11.Dez. 2008 Ohne Vorsortierung Sequentielle Suche Speicherung nach Zugriffswahrscheinlicheiten Selbstanordnende Felder

Mehr

NAME, VORNAME: Studiennummer: Matrikel:

NAME, VORNAME: Studiennummer: Matrikel: TU Ilmenau, Fakultat IA Institut für Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Prof. Dr. (USA) M. Dietzfelbinger Klausur Algorithmen und Datenstrukturen SS08, Ing.-Inf.

Mehr

Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III

Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Text: Hinnerk van Bruinehsen - Grafiken: Jens Fischer powered by SDS.mint SoSe 2011 1 Teil

Mehr

Algorithmik Kap. 2: Laufzeit von Algorithmen

Algorithmik Kap. 2: Laufzeit von Algorithmen 1. Motivation 1.1 Fallstudie: Sortieralgorithmen 1.2 Fallstudie: Selektionsalgorithmen 2. Laufzeit von Algorithmen 2.1 Grundlagen 2.2 3. Paradigmen des Algorithmenentwurfs 3.1 Dynamisches Programmieren

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

Exponentielle Suche 4/26/10. Beweis für. Situation: Idee: suche zunächst "rechten Rand" r, so dass k < Ar Algo: Analyse:

Exponentielle Suche 4/26/10. Beweis für. Situation: Idee: suche zunächst rechten Rand r, so dass k < Ar Algo: Analyse: Beweis für 9 Exponentielle Situation: n sehr groß esuchtes i, mit Ai = k, ist relativ klein Idee: suche zunächst "rechten Rand" r, so dass k < Ar Algo: 1 2 4 8 i 16 Index r = 1 while A[r] < key: r *= 2

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 5 Asymptotische Laufzeitkomplexität Definition Regeln Beispiele Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger

Mehr

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass f O g und auch g O f. Wähle zum Beispiel und G. Zachmann Informatik

Mehr

Heapsort / 1 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]

Heapsort / 1 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] Heapsort / 1 Heap: Ein Array heißt Heap, falls A [i] A [2i] und A[i] A [2i + 1] (für 2i n bzw. 2i + 1 n) gilt. Beispiel: A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] Heapsort / 2 Darstellung eines Heaps als

Mehr

Algorithmik Übung 2 Prof. Dr. Heiner Klocke Winter 11/

Algorithmik Übung 2 Prof. Dr. Heiner Klocke Winter 11/ Algorithmik Übung 2 Prof. Dr. Heiner Klocke Winter 11/12 23.10.2011 Themen: Asymptotische Laufzeit von Algorithmen Experimentelle Analyse von Algorithmen Aufgabe 1 ( Asymptotische Laufzeit ) Erklären Sie,

Mehr

1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen

1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen Gliederung 1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen 1/1, Folie 1 2009 Prof. Steffen Lange - HDa/FbI - Effiziente

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Mathematische Grundlagen

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Jörn Fischer j.fischer@hs-mannheim.de Willkommen zur Vorlesung Grundlagen der Informatik ADS-Teil Page 2 Überblick Inhalt 1 Eigenschaften von Algorithmen Algorithmenbegriff O-Notation Entwurfstechniken

Mehr

Datenstrukturen, Algorithmen und Programmierung 2

Datenstrukturen, Algorithmen und Programmierung 2 Datenstrukturen, Algorithmen und Programmierung 2 Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 2. VO SS 2009 16. April 2009 1 Überblick Asymptotische Schranken

Mehr

4 Rekursionen. 4.1 Erstes Beispiel

4 Rekursionen. 4.1 Erstes Beispiel 4 Rekursionen Viele Algorithmen besitzen sowohl eine iterative als auch eine rekursive Lösung. Sie unterscheiden sich darin, dass die iterative Version meist einen etwas längeren Kode besitzt, während

Mehr

Kapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung

Kapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte

Mehr

4 Effizienz und Komplexität 3.1 1

4 Effizienz und Komplexität 3.1 1 4 Effizienz und Komplexität 3.1 1 Effizienz (efficiency): auf den Ressourcen-Verbrauch bezogene Programmeigenschaft: hohe Effizienz bedeutet geringen Aufwand an Ressourcen. Typische Beispiele: Speichereffizienz

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest

Mehr

8. Sortieren II. 8.1 Heapsort. Heapsort. [Max-]Heap 6. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften

8. Sortieren II. 8.1 Heapsort. Heapsort. [Max-]Heap 6. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften Heapsort, Quicksort, Mergesort 8. Sortieren II 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 9 210 Heapsort [Max-]Heap 6 Inspiration von Selectsort: Schnelles Einfügen Binärer Baum mit

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 5 14. Juni 2011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Ziel Angabe der Effizienz eines Algorithmus unabhängig von Rechner, Programmiersprache, Compiler. Page 1 Eingabegröße n n Integer, charakterisiert die Größe einer Eingabe, die

Mehr

5. Übungsblatt zu Algorithmen I im SoSe 2016

5. Übungsblatt zu Algorithmen I im SoSe 2016 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Lukas Barth, Lisa Kohl 5. Übungsblatt zu Algorithmen I im SoSe 2016 https://crypto.iti.kit.edu/index.php?id=algo-sose16

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung

Mehr

Übung Algorithmen I

Übung Algorithmen I Übung Algorithmen I 10.5.17 Sascha Witt sascha.witt@kit.edu (Mit Folien von Lukas Barth, Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Roadmap Listen Skip List Hotlist Amortisierte

Mehr

> Parallele Systeme Übung: 4. Übungsblatt Philipp Kegel Wintersemester 2012/2013. Parallele und Verteilte Systeme, Institut für Informatik

> Parallele Systeme Übung: 4. Übungsblatt Philipp Kegel Wintersemester 2012/2013. Parallele und Verteilte Systeme, Institut für Informatik > Parallele Systeme Übung: 4. Übungsblatt Philipp Kegel Wintersemester 2012/2013 Parallele und Verteilte Systeme, Institut für Informatik Inhaltsverzeichnis 2 1 Besprechung des 4. Übungsblattes Aufgabe

Mehr

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 13 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

In C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht:

In C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht: Typprüfung (Compiler / Laufzeit) In C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht: 1) Der Compiler prüft

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO INF.02031UF (2-4)-Bäume robert.legenstein@igi.tugraz.at 1 7. Bäume Bäume als Datenstruktur Binärbäume Balancierte Bäume (2-4)-Bäume Anwendung: Mischbare Warteschlangen

Mehr

3. Übungsblatt zu Algorithmen I im SoSe 2017

3. Übungsblatt zu Algorithmen I im SoSe 2017 Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799

Mehr

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016)

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Kostenmodell Daniel Graf, Tobias Pröger 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch

Mehr