Datenstrukturen und Algorithmen SS07
|
|
|
- Nadine Kirchner
- vor 9 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 [email protected] belfrage.net/eth Programm von Heute Minimaler Spannbaum (MST) Challenge der Woche Fibonacci Heap Minimaler Spannbaum
G. Zachmann Clausthal University, Germany Die wichtigsten Entwurfsverfahren für Algorithmen:
lausthal Informatik II Divide & onquer. Zachmann lausthal University, ermany [email protected] Algorithmen-Design-Techniken Die wichtigsten Entwurfsverfahren für Algorithmen: 1. Divide and onquer
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
Ü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 [email protected] Raum 306, Gebäude 50.34 Thomas Pajor [email protected] Raum 322,
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
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
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
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,
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)
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
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
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
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
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
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
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
Ü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
Ü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
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
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
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.
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
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
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.
Ü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.
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.
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)
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,
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,
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
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
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
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
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
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
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
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
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.
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
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
Datenstrukturen und Algorithmen SS07
Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage [email protected] belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen
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,
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
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
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
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
Ü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
(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
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
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
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
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
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
Algorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik [email protected] Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
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
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.
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
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
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.
Ü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
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
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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
Ü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
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
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
