Datenstrukturen und Algorithmen SS07

Größe: px
Ab Seite anzeigen:

Download "Datenstrukturen und Algorithmen SS07"

Transkript

1 Datenstrukturen und Algorithmen SS07 Datum: Michael Belfrage belfrage.net/eth

2 Programm von Heute Nachbesprechung Serie 7 Aufgabe 2 (Triangulierung) Scanline Prinzip (revisited) Amortisierte Analyse Median bestimmen in O(n) Alte/Neue Challenge der Woche

3 Aufgabe 2 (Triangulierung) Gegeben: Menge von n Punkten Zu zeigen: Die Berechnung deren Triangulierung hat mind. Laufzeit von Θ(n log n) (im Einheitskostenmodell)

4 Aufgabe 2 (Triangulierung) Lösungsansatz: Reduzierung auf ein anderes Problem, dessen mind. Komplexität wir schon kennen In unserem Fall: das Sortieren (vergleichsbasiert) Es gibt nur eine mögliche Triangulierung in der oben dargestellten Situation. Somit haben wir ein Verfahren um eine Liste S={s 1,...,s n } zu sortieren: Ordne die s i zu (x i,y i ) := (s i,0), setze noch einen weiteren Punkt oberhalb z.b. (s 1,1) und mache die Triangulierung. Nun suchen wir die kleinste Koordinate, und können danach alle s i nacheinander durchgehen.

5 Scanline Prinzip Algorithmus: Q:= Haltepunkte; -- Meist nach x-koord. sortiert (Min-/Maxheap) L:= Void; -- Menge der aktiven Objekte -- Meist nach y-koord. sortiert (AVL-Baum) while Q /= {} do begin Gehe zum nächsten Haltepunkt in Q; aktualisiere(l); Gebe Teillösungen aus; --falls vorhanden end

6 Scanline Prinzip Wasser-Installation (Aufgabe 8.3)

7 Scanline Prinzip Flächenberechnung (Aufgabe 8.4)

8 Amortisierte Analyse Was ist Amortisierte Analyse? Wieso A.A.? Wann A.A.? Let s start with an example...

9 Amortisierte Analyse Es hat einen Drucker, welcher genug Toner hat für Druckaufträge. Kosten für einen Ausdruck: 0.10 Fr. falls es noch genug Toner hat 0.10 Fr Fr. falls es keinen Toner mehr hat. (da man eine neue Tonerkartusche kaufen muss)

10 Amortisierte Analyse Was sind nun die Kosten im Worst-Case? Antwort: Fr. Da diese Abschätzung sehr pessimistisch ist obwohl korrekt braucht man ein neues Mass: Amortisierten Kosten Von franz. amortir, tilgen Idee: Lasse die billigeren Operationen für die teure(n) bezahlen

11 Amortisierte Analyse Konkret im Beispiel: Neue amortisierten Kosten für einen Ausdruck: 0.10 Fr Fr. = 0.20 Fr. falls es noch genug Toner hat Spendenbox Die zusätzlichen 10 Rappen, werden zu Spendezwecken aufbewahrt

12 Amortisierte Analyse Nachdem nun Personen gedruckt haben, wird der Toner leer sein, jedoch wird auch Fr. = 100Fr. in der Spendenbox liegen. Somit kann die te Person einen neue Tonerkartusche aus dem Spendengeld kaufen und kann für 0.10Fr. drucken (+ wiederum 0.10Fr. in die nun leere Spendenbox hineintun)

13 Amortisierte Analyse Fazit: Amort. Kosten für einen Ausdruck: 0.20 Fr. falls es noch genug Toner hat 0.20 Fr. falls es keinen Toner mehr hat. Somit in allen Fällen 0.20Fr. bzw. amortisierte Kosten von 0.20Fr.

14 Amortisierte Analyse Verallgemeinert: Es hat einen Drucker, welcher genug Toner hat für n Druckaufträge. Eine neue Tonerkartusche kostet n 0.10Fr. Kosten für einen Ausdruck: 0.10 Fr. falls es noch genug Toner hat 0.10 Fr. + n 0.10Fr. falls es keinen Toner mehr hat. Somit amortisierte Kosten von: 0.10Fr Fr. = O(1) (Da unabhängig von n)

15 Amortisierte Analyse Amortisierte Kosten heisst also: Die Kosten die entstehen, wenn die billigeren Operationen für die teureren bezahlen, sodass die Kosten sich ausgleichen Oft ist dieses Geld hinterlegen von vorher nicht so einfach, denn es hat vielleicht mehrere Spezialfälle, und es ist nicht sofort ersichtlich wieviel Geld man nun hinterlegen soll, je nach Operation.

16 Amortisierte Analyse Deshalb wird zur Verallgemeinerung eine Balancefunktion Bal l benutzt (auch Potenzialfunktion genannt), um die amort. Kosten zu berechnen Betrachten wir nun alle Operationen zeitlich nacheinander: t l, seien jeweils die tatsächlichen Kosten der l-ten Operation a l, seien die amortisierten Kosten der l-ten Operation

17 Amortisierte Analyse Die Idee ist schlussendlich dass: tl a l In Worten: Die Summe der tatsächlichen Kosten nach allen Operationen soll nicht grösser sein als die der amortisierten. (Sonst wäre unserer Beweis sinnlos)

18 Amortisierte Analyse Wir definieren die amortisierten Kosten im l-ten Schritt nun folgendermassen: a l =t l +Bal l Bal l 1 Erklärung: Wir führen die (schon erwähnte) Balance-Funktion ein, welche zusehen soll, dass die Kosten in jedem Schritt amortisiert etwa gleich bleiben soll. (Balance-Funktion ist also sowas wie Geld-Hinterlegen ). Die amortisierten Kosten sind somit jeweils die tatsächlichen Kosten + die Differenz von nacheinanderfolgenden Balance-Funktionen.

19 Amortisierte Analyse Die Balance-Funktion kann man nun beliebig nach Lust und Laune definieren, mit irgendeiner Eigenschaft vom Problem, welche sich mit der Zeit verändert. Das ist die Stärke der Balance-Funktion, dass sie völlig unabhängig sein kann, da folgendes gilt: al = (t l +Bal l Bal l 1 )=( t l )+Bal n Bal 0 Wir müssen also nur sicherstellen, dass der Wert der Balance-Funktion am Ende minus dem Wert am Anfang nicht negativ ist, dann haben wir schon alles gezeigt.

20 Amortisierte Analyse Nun ein Beispiel um das ganze zu Illustrieren: Nehmen wir einfachheitshalber wieder das Druckerproblem.

21 Amortisierte Analyse Es hat einen Drucker, welcher genug Toner hat für n Druckaufträge. t l Tatsächliche Kosten für einen Ausdruck bei der l-ten Operation (bzw. Person): 0.10 Fr. falls es noch genug Toner hat 0.10 Fr. + n 0.10Fr. O(1) O(n) falls es keinen Toner mehr hat. (da man einen neue Tonerkartusche kaufen muss)

22 Amortisierte Analyse Wir definieren die amortisierten Kosten im l-ten Schritt nun wie erwähnt: a l =t l +Bal l Bal l 1 Als Balance-Funktion wählen wir was kreatives, vielleicht z.b. den Tonerstand in [ml]

23 Amortisierte Analyse l Bal l Bal l Bal l 1 0 n - 1 n n n n n 0-1 n + 1 n + n n + 2 n 1-1 n + 3 n

24 Amortisierte Analyse al = (t l +Bal l Bal l 1 )=( t l )+Bal n+1 Bal 0 = 0 =n 0.10Fr.+n 0.10Fr.+0=2n 0.10Fr. (t t n ) t n+1 tl a l = al n Fr.=0.20Fr. O(1)

25 Median in O(n) Der Algorithmus heisst Korrekterweise: Blum-Floyd-Pratt-Rivest-Tarjan (BFPRT) Selektionsalgorithmus [1973]

26 BFPRT Algorithmus Gegeben: Menge S mit n Elementen Gesucht: Der Median von S, d.h. das (n/2) kleinste Element (abgerundet) Gezeigt wird: (Verallgemeinerung) Das i-kleinste Element von S bestimmen n/2 ist ein Spezialfall davon

27 BFPRT Algorithmus Vorgehen: Wähleeinkleinesungeradesk 5 Algorithmus: (1) S:={a 1,a 2,a 3,...,a n } z.b. k=5 TeiledasS instückedergrössek, bis auf eines, welches kleiner sein kann. Wirhabentotalalso n k solchegruppen.

28 BFPRT Algorithmus Algorithmus:... (2) Sortiere jedes der Blöcke (der Grösse k) (3) Bestimme den Median von jedem Block (4) Bestimme den Median dieser Mediane (rekursiv) S:={a 1,a 2,a 3,...,a n }

29 BFPRT Algorithmus Algorithmus:... (5) Teile das S auf in: S l :={x S:x<s}undS r :={x S:x>s} (6.1) Falls S l i, bestimme das i-kleinste Element von S l rekursiv (6.2) Falls S l =i 1, ist s die Lösung (6.3) Sonst ist S l <i 1, bestimme das (i S l 1) -kleinste Element von S r

30 BFPRT Algorithmus Berechnung der Laufzeit: Wir bestimmen nun das T(n), die Anzahl der Vergleiche im worst-case. n sind die Anzahl Elemente von S Sehen wir uns die Schritte also nochmals an... Beweis weicht leicht vom Buch/ML ab Ich finde es so einfacher/klarer...

31 BFPRT Algorithmus Vorgehen: Wähleeinkleinesungeradesk 5 Algorithmus: (1) S:={a 1,a 2,a 3,...,a n } z.b. k=5 TeiledasS instückedergrössek, bis auf eines, welches kleiner sein kann. Wirhabentotalalso n k solchegruppen. in grün jeweils Anzahl Vergleiche (1): gratis

32 BFPRT Algorithmus Algorithmus:... (2) Sortiere jedes der Blöcke (der Grösse k) (3) Bestimme den Median von jedem Block (4) Bestimme den Median dieser Mediane (rekursiv) S:={a 1,a 2,a 3,...,a n } Anzahl Vergleiche um k Elemente zu sortieren (2): C k. n k (3): gratis n k (4): T( )

33 BFPRT Algorithmus Algorithmus:... (5) Teile das S auf in: (5): (6): T( n ) S l :={x S:x<s}undS r :={x S:x>s} (6.1) Falls S l i, bestimme das i-kleinste Element von S l rekursiv (6.2) Falls S l =i 1, ist s die Lösung (6.3) Sonst ist S l <i 1, bestimme das (i S l 1) -kleinste Element von n S r

34 BFPRT Algorithmus 3 4 Wieso T( n ) bei (6)? Man kann jeweils immer mind. 1/4 ausschliessen, siehe Skizze (das ist auch der eigentliche Clou vom ganzen Algo) S:={a 1,a 2,a 3,...,a n } S r ={x S:x>s} S l ={x S:x<s} s

35 BFPRT Algorithmus Zusammenfassend haben wir also: (4) (6) (2) (5) T(n) T( n k )+T( 3 4 n )+ n C k k+ n 2 Und wir wollen zeigen, dass: T(n) c n,(c=konst.)

36 BFPRT Algorithmus Induktionsbeweis: Verankerung: wähle ein genug grosses n 0, s.d. Ind.Schritt: T(n) T( n k )+T( 3 4 n )+ n C k k+ n 2 c ( n k )+c ( 3 4 n )+ n C k k+ n 2 c ( n k )+c (3n)+ nc 4 k k+ n 2 =( c+c 3+ 1C k 4 k k+ 1) n 2! c n - Eine notwendige Bedingung an das c ist somit: T(n 0 ) c n 0 c 1 k C k k Für k=5,7,9,... findet man entsprechende c (ausser für k=3)

37 Andere Selektionsalgorithmen Es gibt eine Reihe weiterer Algos: Bester (im Moment): (2+ε) n+o(n) [Dor/Zwick 2001] Beste bekannte untere Schranke: 2 n o(n) [Bent/John 1985] f(x) f o(g)heisstlim x g(x) =0

38 Alte Challenge der Woche Gegeben: Eine Menge S bestehend aus n Tupel der Form (x 1,x 2,...,x d ), wobei x i R (d steht also für die Dimension der Tupel) Gesucht: Algorithmus/Datenstruktur welche möglichst Effizient bestimmt ob ein beliebiges Tupel t S ist. Geforderte Laufzeit: O(d + log(n)) (d.h. die Laufzeit für das suchen nach irgendeinem Element, nachdem eine Datenstruktur aufgebaut ist.)

39 Museumsproblem [Klee 1973]

40 The Challenge

41 The Challenge

42 The Challenge n

43 The Challenge Zu zeigen: Wenn n die Anzahl Wände sind im Museum, dann braucht es höchstens n/3 [abgerundet] Wachen.

44 Ende der Stunde. Questions?

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS0 Datum:.6.200 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Minimaler Spannbaum (MST) Challenge der Woche Fibonacci Heap Minimaler Spannbaum

Mehr

G. Zachmann Clausthal University, Germany Die wichtigsten Entwurfsverfahren für Algorithmen:

G. Zachmann Clausthal University, Germany Die wichtigsten Entwurfsverfahren für Algorithmen: lausthal Informatik II Divide & onquer. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Algorithmen-Design-Techniken Die wichtigsten Entwurfsverfahren für Algorithmen: 1. Divide and onquer

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

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

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

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

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

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS07 Datum: 25.4.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Nachbesprechung Serie 4 Challenge der Woche Traversierung von Bäumen Pre-,

Mehr

Algorithmik Übung 3 Prof. Dr. Heiner Klocke. Sortierfolge nach Werten: 7 8 9 10 Bube Dame König As nach Farben: Karo ( ) Herz ( ) Piek ( ) Kreuz ( )

Algorithmik Übung 3 Prof. Dr. Heiner Klocke. Sortierfolge nach Werten: 7 8 9 10 Bube Dame König As nach Farben: Karo ( ) Herz ( ) Piek ( ) Kreuz ( ) Algorithmi Übung 3 Prof. Dr. Heiner Kloce Winter 11/12 16.10.2011 Divide&Conquer- Algorithmen lassen sich gut als reursive Algorithmen darstellen. Das Prinzip eines reursiven Algorithmus beruht darauf,

Mehr

Auswählen nach Rang (Selektion)

Auswählen nach Rang (Selektion) Auswählen nach Rang (Selektion) Geg.: Folge X von n Schlüsseln, eine Zahl k mit k n Ges.: ein k-kleinster Schlüssel von X, also den Schlüssel x k für X sortiert als x x 2 L x n trivial lösbar in Zeit O(kn)

Mehr

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n) Beim Logarithmischen Kostenmaß wird, im Gegensatz zum EKM, die Stelligkeit der Werte berücksichtigt und mit in die Laufzeit eingerechnet. Beispiel: R1 := R2 (R3), wobei R2 den Wert 5, R3 den Wert 10 und

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 15 P Hinweise: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

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

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

Lineare Gleichungen mit 2 Variablen

Lineare Gleichungen mit 2 Variablen Lineare Gleichungen mit 2 Variablen Lineare Gleichungen mit 2 Variablen sind sehr eng verwandt mit linearen Funktionen. Die Funktionsgleichung einer linearen Funktion f(x) = m x+q m: Steigung, q: y Achsenabschnitt

Mehr

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 17. Vorlesung Nächstes Paar Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Problem: Gegeben: Menge P von n Punkten in der Ebene, jeder Punkt

Mehr

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion: Übungsblatt 1 Aufgabe 1.1 Beweisen oder widerlegen Sie, dass für die im Folgenden definierte Funktion f(n) die Beziehung f(n) = Θ(n 4 ) gilt. Beachten Sie, dass zu einem vollständigen Beweis gegebenenfalls

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2015 Marc Bux, Humboldt-Universität zu Berlin Agenda Schreibtischtest zu Suchverfahren Amortisierte Analyse Max-Heaps und HeapSort 2 Agenda Schreibtischtest

Mehr

Sortierverfahren. Lernziele

Sortierverfahren. Lernziele 1 Sortierverfahren Einleitung Wir beschäftigen uns heute mit einfachen Sortierverfahren, also mit algorithmischen Lösungen für das Problem, eine ungeordnete Liste mit gleichartigen Elementen (gleicher

Mehr

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren . Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen

Mehr

186.172 Algorithmen und Datenstrukturen 1 VL 4.0 1. Übungstest WS 2010/11 26. November 2010

186.172 Algorithmen und Datenstrukturen 1 VL 4.0 1. Übungstest WS 2010/11 26. November 2010 Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 1. Übungstest WS 2010/11 26.

Mehr

Informatik I 4. Kapitel Suchen in sequentiellen Listen

Informatik I 4. Kapitel Suchen in sequentiellen Listen Informatik I 4. Kapitel Rainer Schrader Zentrum für Angewandte Informatik Köln 21. Mai 2008 1 / 55 2 / 55 Szenario Suchen in Daten gehört zu den wichtigsten Operationen etwa Suchen nach: Stichworten in

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

Effizienz von Algorithmen

Effizienz von Algorithmen Effizienz von Algorithmen Letzte Bearbeitung: Jan 211 Ein wichtiger Aspekt bei Algorithmen sind seine "Kosten". Wir wollen uns hier ausschließlich mit der Laufzeit des gewählten Algorithmus beschäftigen.

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

Effiziente Algorithmen

Effiziente Algorithmen Effiziente Algorithmen Aufgabe 5 Gruppe E Martin Schliefnig, 0160919 Christoph Holper, 9927191 Ulrike Ritzinger, 0125779 1. Problemstellung Gegeben ist eine Datei, die eine Million reelle Zahlen enthält.

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

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

Minimalpolynome und Implikanten

Minimalpolynome und Implikanten Kapitel 3 Minimalpolynome und Implikanten Wir haben bisher gezeigt, daß jede Boolesche Funktion durch einfache Grundfunktionen dargestellt werden kann. Dabei können jedoch sehr lange Ausdrücke enstehen,

Mehr

Proseminar Effiziente Algorithmen

Proseminar Effiziente Algorithmen Proseminar Effiziente Algorithmen Kapitel 4: Sortieren, Selektieren und Suchen Prof. Dr. Christian Scheideler WS 2017 Übersicht Sortieren Selektieren Suchen 08.11.2017 Proseminar EA 2 Sortierproblem 5

Mehr

Sicherer MAC für Nachrichten beliebiger Länge

Sicherer MAC für Nachrichten beliebiger Länge Sicherer MAC für Nachrichten beliebiger Länge Korollar Sicherer MAC für Nachrichten beliebiger Länge Sei F eine Pseudozufallsfunktion. Dann ist Π MAC2 für Π = Π MAC sicher. Nachteile: Für m ({0, 1} n 4

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

3.2. Divide-and-Conquer-Methoden

3.2. Divide-and-Conquer-Methoden LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch

Mehr

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 11, 18.11.08 Friedhelm Meyer auf der Heide 1 Randomisierte Algorithmen Friedhelm Meyer auf

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Geometrisches Problem: Problem: Nächstes Paar Eingabe: n Punkte in der Ebene Ausgabe: Das Paar q,r mit geringstem Abstand

Mehr

t(2k + 1) in den P k s r = n t(2k + 1) Rest

t(2k + 1) in den P k s r = n t(2k + 1) Rest Kette von P k s: top bottom P k Gesamtzahl der Elemente: n P k P k } {{ } t t(k + 1) in den P k s r = n t(k + 1) Rest EADS 4 Schönhage/Paterson/Pippenger-Median-Algorithmus 365/600 Wenn r < t 1, dann wissen

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 011 Übungsblatt 30. Mai 011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

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

Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill

Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill Konvexe Hülle Hierbei handelt es sich um ein klassisches Problem aus der Algorithmischen Geometrie, dem Teilgebiet der Informatik, in dem man für geometrische Probleme effiziente Algorithmen bestimmt.

Mehr

Effiziente Algorithmen (SS2015)

Effiziente Algorithmen (SS2015) Effiziente Algorithmen (SS205) Kapitel 5 Approximation II Walter Unger Lehrstuhl für Informatik 2.06.205 07:59 5 Inhaltsverzeichnis < > Walter Unger 5.7.205 :3 SS205 Z Inhalt I Set Cover Einleitung Approximation

Mehr

Seminar. Algorithmische Geometrie

Seminar. Algorithmische Geometrie Seminar Algorithmische Geometrie WS 2000/2001 Thema: Konvexe Hülle Mirko Dennler 21439 Inhaltsverzeichnis Konvexe Hülle 1. Problemstellung 3 2. GRAHAMS SCAN 4-5 3. JARVIS' MARCH 5-6 4. QUICK HULL 6-7 5.

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

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

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen

Mehr

Informatik II: Algorithmen und Datenstrukturen SS 2015

Informatik II: Algorithmen und Datenstrukturen SS 2015 Informatik II: Algorithmen und Datenstrukturen SS 2015 Vorlesung 8b, Mittwoch, 17. Juni 2015 (Balancierte Suchbäume) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik

Mehr

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt.

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Abschätzung für die Rekursion von SELECT Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Wir nehmen erst einmal an, dass eine Konstante d existiert,

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

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 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

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 4 (30.4.2018) Sortieren IV Algorithmen und Komplexität Analyse Merge Sort Laufzeit T(n) setzt sich zusammen aus: Divide und Merge: O n

Mehr

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). 8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Suchen und Amortisierte Analyse Heute: Suchen / Schreibtischtest Amortisierte Analyse Nächste

Mehr

(27 - Selbstanordnende lineare Listen)

(27 - Selbstanordnende lineare Listen) Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 - Selbstanordnende lineare Listen) Prof. Dr. Susanne Albers Problemstellung Gegeben sei eine Menge von Objekten (Schlüsseln), auf die mit zeitlich

Mehr

Abschnitt 19: Sortierverfahren

Abschnitt 19: Sortierverfahren Abschnitt 19: Sortierverfahren 19. Sortierverfahren 19.1 Allgemeines 19.2 Einfache Sortierverfahren 19.3 Effizientes Sortieren: Quicksort 19.4 Zusammenfassung 19 Sortierverfahren Informatik 2 (SS 07) 758

Mehr

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare

Mehr

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 202/3 24. Vorlesung Amortisierte Analyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Hash-Tabellen Frage: Ziel: Problem: Lösung: Wie groß macht man

Mehr

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.06.2014 1 Dualitätsabbildung Bisher haben wir Dualität für planare

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

Suchen und Sortieren

Suchen und Sortieren Ideen und Konzepte der Informatik Suchen und Sortieren Ordnung ist das halbe Leben Antonios Antoniadis (Basierend auf Folien von Kurt Mehlhorn und Konstantinos Panagiotou) 6. November 2017 6. November

Mehr

Zentrale Aufnahmeprüfung 2015 für die Kurzgymnasien des Kantons Zürich

Zentrale Aufnahmeprüfung 2015 für die Kurzgymnasien des Kantons Zürich Zentrale Aufnahmeprüfung 2015 für die Kurzgymnasien des Kantons Zürich Bitte zuerst ausfüllen: Name:... Vorname:... Prüfungsnummer:... Du hast 90 Minuten Zeit. Du musst alle Aufgaben in dieses Heft lösen.

Mehr

Einführung Elementare Datenstrukturen. Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst.

Einführung Elementare Datenstrukturen. Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst. Einführung Elementare Datenstrukturen (Folie 38, Seite 23 im Skript) Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst. Einführung Elementare Datenstrukturen

Mehr

6. Sich selbst organisierende Datenstrukturen

6. Sich selbst organisierende Datenstrukturen 6. Sich selbst organisierende Datenstrukturen 6.1 Motivation einfach, wenig Verwaltungsoverhead effizient im amortisierten Sinn EADS 6.1 Motivation 201/598 6.2 Sich selbst organisierende lineare Listen

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

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

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

Algorithmische Intelligenz. Amortisierung. Stefan Edelkamp

Algorithmische Intelligenz. Amortisierung. Stefan Edelkamp Algorithmische Intelligenz Amortisierung Stefan Edelkamp Analyse von Algorithmen Best Case Worst Case Average Case Amortisierte Worst Case Was sind die durchschnittlichen Kosten einer schlechtest möglichen

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Sortierverfahren 1. Schreibtischtest 2. Stabilität 3. Sortierung spezieller Arrays 4. Untere

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

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

Algorithmen & Datenstrukturen Blatt 4

Algorithmen & Datenstrukturen Blatt 4 Algorithmen & Datenstrukturen Blatt 4 Dr. Matthias Thimm Tina Walber, Leon Kastler, Martin Leinberger und Maximilian Strauch Fachbereich Informatik, Universität Koblenz-Landau 7. Dezember 2013 1 1 Experimentelle

Mehr

Füllen von Primitiven

Füllen von Primitiven Füllen von Primitiven Basisproblem der 2D-Graphik Anwendung: füllen beliebiger Flächen (Polygone, Freiformkurven) Darstellung von Buchstaben dicke Primitive (Linien, Kreise, Kurven), Teilproblem in der

Mehr

Die Lineare Algebra-Methode. Mahir Kilic

Die Lineare Algebra-Methode. Mahir Kilic Die Lineare Algebra-Methode Mahir Kilic 23. Juni 2004 1 Einführung 1.1 Überblick Im Allgemein benutzt man die Lineare Algebra-Methode in der Kombinatorik wie folgt: Für die Bestimmung einer Obergrenze

Mehr

Amortisierte Analyse. C. Komusiewicz 6.1 Amortisierte Analyse: Motivation 105

Amortisierte Analyse. C. Komusiewicz 6.1 Amortisierte Analyse: Motivation 105 Amortisierte Analyse C. Komusiewicz 6.1 Amortisierte Analyse: Motivation 105 C. Komusiewicz 6.1 Amortisierte Analyse: Motivation 106 Amortisierte Analyse Beobachtung: Bei Datenstrukturen ist Worst-Case-Analyse

Mehr

Datenstrukturen und Algorithmen D-INFK

Datenstrukturen und Algorithmen D-INFK Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik Peter Widmayer

Mehr

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Vorlesung Diskrete Strukturen Die natürlichen Zahlen Vorlesung Diskrete Strukturen Die natürlichen Zahlen Bernhard Ganter WS 2009/10 Alles ist Zahl? Wenn in der modernen Mathematik alles auf Mengen aufgebaut ist, woher kommen dann die Zahlen? Sind Zahlen

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

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

Prüfung Algorithmen und Datenstrukturen I

Prüfung Algorithmen und Datenstrukturen I Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IF 3 B Wintersemester 2014/15 Prüfung Algorithmen und Datenstrukturen I Datum : 20.01.2015, 10:30 Uhr

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Rot-schwarz Bäume Eigenschaften Rotationen Einfügen (Löschen) 2 Einführung Binäre Suchbäume Höhe h O(h) für Operationen

Mehr

Lösungen zum Aufgabenblatt Nr. 1: Konstruktion der reellen Zahlen

Lösungen zum Aufgabenblatt Nr. 1: Konstruktion der reellen Zahlen Lösungen zum Aufgabenblatt Nr. 1: Konstruktion der reellen Zahlen Aufgabe 1: Es sei D die Menge aller rationalen Dedekind-Mengen, also D := { M 2 Q M is Dedekind-Menge }. Auf der Menge D definieren wir

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

Lineare Algebra II 5. Übungsblatt

Lineare Algebra II 5. Übungsblatt Lineare Algebra II Übungsblatt Fachbereich Mathematik SS Prof Dr Kollross / Mai Susanne Kürsten Tristan Alex Gruppenübung Aufgabe G (Algebraisch abgeschlossener Körper) Ein Körper heißt algebraisch abgeschlossen,

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 03.12.2013 Algorithmische Geometrie: Schnitte von Strecken Sweep-Line INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

2 Rationale und reelle Zahlen

2 Rationale und reelle Zahlen 2 reelle Es gibt Mathematik mit Grenzwert (Analysis) und Mathematik ohne Grenzwert (z.b Algebra). Grenzwerte existieren sicher nur dann, wenn der Zahlbereich vollständig ist, also keine Lücken aufweist

Mehr

Korollar: Jeder vergleichsbasiertealgorithmus zum Sortieren von n Schlüsseln hat im schlechtesten Fall Laufzeit

Korollar: Jeder vergleichsbasiertealgorithmus zum Sortieren von n Schlüsseln hat im schlechtesten Fall Laufzeit Satz: Fürjeden Entscheidungsbaum Bzum Sortieren von n Schlüsseln gilt Höhe(B) >n log 2 n 1.5n. Korollar: Fürjeden vergleichsbasierten Algorithmus zum Sortieren von n Schlüsseln gibt es eine Eingabe, für

Mehr

1. Teilklausur. Name:... Vorname:... Matrikel-Nummer:...

1. Teilklausur. Name:... Vorname:... Matrikel-Nummer:... ALP II Objektorientierte Programmierung SS 2012 Prof. Dr. Margarita Esponda 1. Teilklausur Name:... Vorname:... Matrikel-Nummer:... Ich bin mit der Veröffentlichung der Klausurergebnisse mit Matrikel-Nummer

Mehr

Kapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle

Kapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle Kapitel 9 Algorithm. Geometrie Kürzeste Abstände Konvexe Hülle Überblick Teilgebiet der Informatik, in dem es um die Entwicklung effizienter Algorithmen und die Bestimmung der algorithmischen Komplexität

Mehr

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls

Mehr

Kürzeste-Wege-Algorithmen und Datenstrukturen

Kürzeste-Wege-Algorithmen und Datenstrukturen Kürzeste-Wege-Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2

Mehr

Übungsaufgaben zur Linearen Funktion

Übungsaufgaben zur Linearen Funktion Übungsaufgaben zur Linearen Funktion Aufgabe 1 Bestimmen Sie den Schnittpunkt der beiden Geraden mit den Funktionsgleichungen f 1 (x) = 3x + 7 und f (x) = x 13! Aufgabe Bestimmen Sie den Schnittpunkt der

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Sortieren fortgesetzt Maike Buchin 16.5.2017 5.6 Brechen der Unteren Schranke nur Vergleichen erlauben keine Algorithmen mit Laufzeit schneller als O(n log n) stattdessen: Struktur

Mehr

Amortisierte Analysen

Amortisierte Analysen Amortisierte Analysen 26. Mai 2016 1 Einleitung Es gibt viele Datenstrukturen, bei deren Komplexitätsanalyse das Problem auftaucht, dass die Ausführung mancher Operationen Einfluss auf die Komplexität

Mehr