Datenstrukturen und Algorithmen SS07
|
|
- Nadine Kirchner
- vor 7 Jahren
- Abrufe
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 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
MehrG. 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
MehrStud.-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 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,
MehrAlgorithmen 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
MehrGrundlagen: 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
MehrGrundlagen: 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
MehrDatenstrukturen 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-,
MehrAlgorithmik Ü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,
MehrAuswä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)
MehrT (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
MehrStud.-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
Mehr4 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
MehrKapitel 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
MehrLineare 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
Mehr5. 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
MehrAlgorithmen 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 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 Sommersemester 2015 Marc Bux, Humboldt-Universität zu Berlin Agenda Schreibtischtest zu Suchverfahren Amortisierte Analyse Max-Heaps und HeapSort 2 Agenda Schreibtischtest
MehrSortierverfahren. 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
Mehr2.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
Mehr186.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.
MehrInformatik 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
MehrEin 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
MehrEffizienz 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 Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.
MehrEffiziente 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.
MehrEffiziente 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)
MehrVorlesung 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
MehrAbgabe: (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,
MehrMinimalpolynome 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,
MehrProseminar 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
MehrSicherer 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
MehrAlgorithmen 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
Mehr3.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
MehrAlgorithmen 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
MehrDatenstrukturen 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
Mehrt(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
MehrGrundlagen: 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
MehrWann 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
MehrKomplexitä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
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.
MehrEffiziente 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
MehrSeminar. 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.
MehrPrä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
MehrAlgorithmen 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
MehrDatenstrukturen 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
MehrInformatik 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
MehrWir 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,
Mehr4. 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
Mehrf 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
MehrKapitel 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
MehrInformatik 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
MehrAlle 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 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)
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
MehrAbschnitt 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
MehrGeradenarrangements 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
MehrGeradenarrangements 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
MehrAlgorithmen 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
MehrGeradenarrangements 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
Mehr2. 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
MehrAlgorithmen & 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
MehrSuchen 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
MehrZentrale 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.
MehrEinfü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
Mehr6. 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
MehrVorlesung 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
MehrAlgorithmen 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,
Mehr2.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.
MehrAlgorithmische 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 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
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
Mehr1. 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
MehrAlgorithmen & 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
MehrFü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
MehrDie 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
MehrAmortisierte 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
MehrDatenstrukturen 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
MehrVorlesung 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
MehrDatenstrukturen. 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
MehrKapitel 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
MehrPrü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
MehrDatenstrukturen & 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
MehrLö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
MehrG. 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
MehrLineare 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,
MehrAlgorithmen 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
Mehr2 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
MehrKorollar: 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
Mehr1. 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
MehrKapitel 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
MehrAVL-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
MehrKü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 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
MehrVorlesung 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
MehrAmortisierte 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