Algorithmen und Datenstrukturen 1-1. Seminar -

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

Ü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

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

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

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

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Jakob Vogel Computer-Aided Medical Procedures Technische Universität München Komplexität von Programmen Laufzeit kann näherungsweise

Mehr

Algorithmen und Datenstrukturen I. Grundlagen. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Algorithmen und Datenstrukturen I. Grundlagen. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München Algorithmen und Datenstrukturen I Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.03.2018 18:16 Inhaltsverzeichnis Algorithmus..................................... 2 Problem

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

Algorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier

Algorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier Algorithmen und Datenstrukturen SoSe 2008 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Algorithmen und Datenstrukturen Gesamtübersicht Organisatorisches / Einführung Grundlagen: RAM,

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Uwe Quasthoff unter Verwendung der Materialien der letzten Jahre Abteilung Automatische Sprachverarbeitung Institut für Informatik Universität Leipzig 12. Oktober 2011

Mehr

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Kapitel 2. Weitere Beispiele Effizienter Algorithmen Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Gerhard Heyer unter Verwendung der Materialien der letzten Jahre Abteilung Automatische Sprachverarbeitung Institut für Informatik Universität Leipzig 17.10.2012 1

Mehr

Programmieren und Problemlösen

Programmieren und Problemlösen Dennis Komm Programmieren und Problemlösen Komplexität von Algorithmen Frühling 2019 27. Februar 2019 Komplexität von Algorithmen Aufgabe Primzahltest Schreibe ein Programm, das eine ganze Zahl x als Eingabe

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 4 Abgabe: Montag, 13.05.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes Gruppenmitglieds

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.

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

9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion

9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen

Mehr

A6.1 Logarithmus. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A6.1 Logarithmus. A6.2 Landau-Notation. A6.

A6.1 Logarithmus. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A6.1 Logarithmus. A6.2 Landau-Notation. A6. Algorithmen und Datenstrukturen 8. März 2018 A6. Laufzeitanalyse: Logarithmus and Landau-Symbole Algorithmen und Datenstrukturen A6. Laufzeitanalyse: Logarithmus and Landau-Symbole Marcel Lüthi and Gabriele

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

Mi, 21. Mai, ab 12:30 Uhr, in E23 (OH14) Dann ab 14:30 Uhr: Motivation: Gegeben: hier: später: Aufgabe:

Mi, 21. Mai, ab 12:30 Uhr, in E23 (OH14) Dann ab 14:30 Uhr: Motivation: Gegeben: hier: später: Aufgabe: Kap. 4: Suchen in Datenmengen Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 0. VO DAP2 SS 2008 5. Mai 2008 Ankündigung Mentoring Mi, 2. Mai, ab 2:30 Uhr, in

Mehr

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen Kapitel 10 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

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Mariano Zelke Datenstrukturen 2/19 Das Teilfolgenproblem: Algorithmus A 3 A 3 (i, j bestimmt den Wert einer maximalen Teilfolge für a i,..., a j. (1 Wenn

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

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

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

ADS: Algorithmen und Datenstrukturen 1

ADS: Algorithmen und Datenstrukturen 1 ADS: Algorithmen und Datenstrukturen 1 Teil 15: Fragestunde Uwe Quasthoff Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 30. Januar 2018 [Letzte Aktualisierung: 30/01/2018,

Mehr

Zunächst ein paar einfache "Rechen"-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt:

Zunächst ein paar einfache Rechen-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Der Groß-O-Kalkül Zunächst ein paar einfache "Rechen"-Regeln: G. Zachmann Informatik 1 - WS 05/06 Komplexität 22 Additionsregel Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Zu beweisen: nur das

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1 Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element

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

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Effiziente Algorithmen SS 2008 Grundlagen: Algorithmen und Datenstrukturen Midterm-Klausur Prof. Dr. Christian Scheideler, Dr. Stefan

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2017/2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Sommersemester 2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen

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

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

3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen.

3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen. Das Suchproblem Gegeben Menge von Datensätzen. 3. Suchen Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle Jeder Datensatz hat einen Schlüssel k. Schlüssel sind vergleichbar: eindeutige Antwort auf

Mehr

Rekursionsbäume Aufstellen eines Baumes dessen Knoten die Laufzeit auf jeder Rekursionsstufe darstellen und Aufsummieren

Rekursionsbäume Aufstellen eines Baumes dessen Knoten die Laufzeit auf jeder Rekursionsstufe darstellen und Aufsummieren Algorithmen und Datenstrukturen 74 3 Rekursionen Vor allem bei rekursiven Algorithmen besitzt die Laufzeitfunktion eine naheliegende rekursive Formulierung, d.h. die Laufzeitfunktion ist konstant für den

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2014/2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Zweiter Akt Uwe Quasthoff Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 17. Oktober 2017 [Letzte Aktualisierung: 16/10/2017,

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

Kap. 3: Sortieren (3)

Kap. 3: Sortieren (3) Kap. 3: Sortieren (3) Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 6. VO DAP2 SS 2009 30. April 2009 Überblick Quick-Sort Analyse von Quick-Sort Quick-Sort

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Technische Universität München WiSe 2012/13 Institut für Informatik I-16 Lösungsblatt 7 Dr. Tobias Lasser 3. Dezember 2012 Jakob Vogel Algorithmen und Datenstrukturen Aufgabe 1 Rechnen mit Landau-Symbolen

Mehr

Algorithmen und Datenstrukturen 1 Kapitel 5

Algorithmen und Datenstrukturen 1 Kapitel 5 Algorithmen und Datenstrukturen 1 Kapitel 5 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 5: Effizienz von Algorithmen 5.1 Vorüberlegungen Nicht

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

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

Abschnitt 7: Komplexität von imperativen Programmen

Abschnitt 7: Komplexität von imperativen Programmen Abschnitt 7: Komplexität von imperativen Programmen 7. Komplexität von imperativen Programmen 7 Komplexität von imperativen Programmen Einf. Progr. (WS 08/09) 399 Ressourcenbedarf von Algorithmen Algorithmen

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

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

Komplexität eines Algorithmus, Grössenordnung, Landau-Symbole, Beispiel einer Komplexitätsberechnung (Mergesort) 7. KOMPLEXITÄT

Komplexität eines Algorithmus, Grössenordnung, Landau-Symbole, Beispiel einer Komplexitätsberechnung (Mergesort) 7. KOMPLEXITÄT Komplexität eines Algorithmus, Grössenordnung, Landau-Symbole, Beispiel einer Komplexitätsberechnung (Mergesort) 7. KOMPLEXITÄT Komplexität eines Algorithmus Algorithmen verbrauchen Ressourcen Rechenzeit

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

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

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an.

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an. 2.5 Suchen Eine Menge S will nach einem Element durchsucht werden. Die Menge S ist statisch und S = n. S ist Teilmenge eines Universums auf dem eine lineare Ordnung definiert ist und soll so gespeichert

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Zweiter Akt Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Prof. Dr. Margarita Esponda

Prof. Dr. Margarita Esponda Analyse von Algorithmen Die O-Notation WS 2012/2013 Prof. Dr. Margarita Esponda Freie Universität Berlin 1 Korrekte und effiziente Lösung von Problemen Problem Wesentlicher Teil der Lösung eines Problems.

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

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

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

G. Zachmann Clausthal University, Germany

G. Zachmann Clausthal University, Germany lausthal Informatik II Suchen lausthal University, ermany zach@in.tu-clausthal.de Problemstellung egeben ist eine Menge von Datensätzen {A1,...,An} esucht sind die Datensätze, deren Schlüssel (Key) = A[i].key

Mehr

Präsenzübung Datenstrukturen und Algorithmen SS 2014

Präsenzübung Datenstrukturen und Algorithmen SS 2014 Prof. aa Dr. E. Ábrahám F. Corzilius, S. Schupp, T. Ströder Präsenzübung Datenstrukturen und Algorithmen SS 2014 Vorname: Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik

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

Übungen zu Algorithmentechnik WS 09/10

Übungen zu Algorithmentechnik WS 09/10 Übungen zu Algorithmentechnik WS 09/10 1. Kurzsitzung Thomas Pajor 22. Oktober 2009 1/ 25 Eure Übungsleiter Tanja Hartmann t.hartmann@kit.edu Raum 306, Gebäude 50.34 Thomas Pajor pajor@kit.edu Raum 322,

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

Praktische Informatik I - Algorithmen und Datenstrukturen Wintersemester 2006/ Algorithmen und ihre formalen Eigenschaften, Datenstrukturen

Praktische Informatik I - Algorithmen und Datenstrukturen Wintersemester 2006/ Algorithmen und ihre formalen Eigenschaften, Datenstrukturen 1 Grundlagen 1.1 Algorithmen und ihre formalen Eigenschaften, Datenstrukturen Ein Algorithmus ist ein mit formalen Mitteln beschreibbares, mechanisch nachvollziehbares Verfahren zur Lösung einer Klasse

Mehr

Heapsort. 1. Erstelle aus dem gegebenen Array einen Max-Heap (DownHeap) 2. Tausche erstes und letztes Element des Arrays

Heapsort. 1. Erstelle aus dem gegebenen Array einen Max-Heap (DownHeap) 2. Tausche erstes und letztes Element des Arrays Heapsort Beispiel für einen eleganten Algorithmus, der auf einer effizienten Datenstruktur (dem Heap) beruht [Williams, 1964] Daten liegen in einem Array der Länge n vor 1. Erstelle aus dem gegebenen Array

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Präsenzübung Musterlösung Dienstag, 28.05.2013 Aufgabe 1 (Allgemeine Fragen [20 Punkte]) 1. Tragen Sie in der folgenden Tabelle die Best-, Average- und Worst-Case-

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

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

Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer

Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer Präsenzübung Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer Dienstag, 28. Mai 2013 Nachname: Vorname: Matrikelnummer: Studiengang:

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Technische Universität München SoSe 2017 Fakultät für Informatik, I-16 Lösungsblatt 4 Dr. Stefanie Demirci 31. Mai 2017 Rüdiger Göbl, Mai Bui Algorithmen und Datenstrukturen Aufgabe 1 Komplexität Berechnung

Mehr

Asymptotik und Laufzeitanalyse

Asymptotik und Laufzeitanalyse und Vorkurs Informatik SoSe13 08. April 2013 und Algorithmen = Rechenvorschriften Wir fragen uns: Ist der Algorithmus effizient? welcher Algorithmus löst das Problem schneller? wie lange braucht der Algorithmus

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

Übungsklausur Algorithmen I

Übungsklausur Algorithmen I Jun.-Prof. Hofheinz, Jun.-Prof. Meyerhenke (ITI, KIT) 08.06.2015 Übungsklausur Algorithmen I Aufgabe 1. (Algorithm Engineering) Nennen Sie zwei Konzepte, die Algorithm Engineering im Gegensatz zu theoretischer

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Wiederholung: Validation Validation: nicht-formaler

Mehr

Algorithmen I - Tutorium 28 Nr. 2

Algorithmen I - Tutorium 28 Nr. 2 Algorithmen I - Tutorium 28 Nr. 2 11.05.2017: Spaß mit Invarianten (die Zweite), Rekurrenzen / Mastertheorem und Merging Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu

Mehr

Übungstermine. Klausur. Inhalt. 1 Einführung: Typen von Algorithmen, Komplexität von Algorithmen. 2 Einfache Suchverfahren in Listen

Übungstermine. Klausur. Inhalt. 1 Einführung: Typen von Algorithmen, Komplexität von Algorithmen. 2 Einfache Suchverfahren in Listen P.F. Stadler & S. Will (Bioinf, Uni LE ADS: Algorithmen und Datenstrukturen 17. Oktober 2013 7 / 39 P.F. Stadler & S. Will (Bioinf, Uni LE ADS: Algorithmen und Datenstrukturen 17. Oktober 2013 8 / 39 Ankündigungen

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

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

Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 3 Gesamtübersicht Organisatorisches; Einführung Algorithmenanalyse:

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

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

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

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

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

Ü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

Datenstrukturen: Mathematische Grundlagen. 26. Juli / 27

Datenstrukturen: Mathematische Grundlagen. 26. Juli / 27 Datenstrukturen: Mathematische Grundlagen 26. Juli 2015 1 / 27 Asymptotik Die Groß-Oh Notation: f = O(g) Es gibt eine positive Konstante c > 0 und eine natürliche Zahl n 0 N, so dass f (n) c g(n) für alle

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Weitere Grundlagen Maike Buchin 20.4.2017 Wiederholung wir interessieren uns für effizienten Algorithmen und Datenstrukturen Laufzeiten messen wir asymptotisch in der Oh-Notation

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

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu

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

Ü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

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

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

AlgoDat Fragen zu Vorlesung und Klausur

AlgoDat Fragen zu Vorlesung und Klausur AlgoDat Fragen zu Vorlesung und Klausur Hochschule Fulda FB AI Sommersemester 2018 http://ad.rz.hs-fulda.de Peter Klingebiel, HS Fulda, AI Vorab: Was ist wichtig? AlgoDat - Fragen - Peter Klingebiel -

Mehr