Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung
|
|
- Marta Holst
- vor 7 Jahren
- Abrufe
Transkript
1 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 6. Ausgewählte Datenstrukturen 7. Algorithmische Geometrie 8. Umgang mit algorithmisch schwierigen Problemen Analyse rekursiver Algorithmen amortisierte Analyse 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
2 Amortisierte Analyse von Algorithmen u Einordnung es geht um die Analyse von Algorithmen, in denen eine Folge von Operationen ausgeführt wird das Ziel besteht darin die Kosten der einzelnen Operationen sinnvoll abzuschätzen Annahme: die Operationen haben unterschiedliche Kosten (/* etwa in Abhängigkeit davon, wie viele Objekte in einer zugrunde liegenden Datenstruktur aktuell verwaltet werden */) Ansatz 1: man bestimmt die maximalen Kosten der Operationen Ansatz 2: man summiert über die Kosten aller durchgeführten Operationen und teilt durch die Anzahl 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
3 Amortisierte Analyse von Algorithmen u Anmerkungen offensichtlich liefert der zweite Ansatz eine realistische Abschätzung der Kosten der interessierenden Operation und damit eine genauere Laufzeitschranke für den zu analysierenden Algorithmus das ist wichtig, wenn man die Laufzeit dieses Algorithmus mit der Laufzeit anderer Algorithmen vergleicht oder über Möglichkeiten zur Verbesserung nachdenkt 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
4 Amortisierte Analyse von Algorithmen u Grundbegriff Die amortisierten Kosten pro Operation in einer Folge von n Operationen ist die Gesamtsumme über die Kosten der Operationen geteilt durch n. u Spielbeispiel Folge von Operationen, wobei stets 100 aufeinanderfolgende Operationen jeweils die Kosten 1 haben und die sich anschließende 101. Operation die Kosten 100 hat maximale Kosten der Operation: 100 amortisierte Kosten pro Operation: 200/101 < 2 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
5 Amortisierte Analyse von Algorithmen u Ein seriöseres Beispiel es geht darum, einen Kellerspeicher (Stack) mit Hilfe einer Arrays A zu implementieren relevante Operationen, wobei A[top] die nächste freie Zelle des Arrays bezeichnet: push(x): A[top] = x; top ++ pop(): if top!= 0 then { top --; return(a[top]) }... falls das Array A vollständig gefüllt ist und ein neues Element zu speichern ist, muss ein größeres Array zur Verfügung gestellt werden und der Inhalt des alten Arrays in das neue Array kopiert werden 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
6 Amortisierte Analyse von Algorithmen u Ein seriöseres Beispiel (cont.) die Kosten für die einzelnen Operationen sind wie folgt festgelegt: pop() hat stets die Kosten 1 push(x) falls das aktuelle Array nicht vollständig gefüllt ist, fallen die Kosten 1 an falls das aktuelle Array vollständig gefüllt ist, kommen noch Kosten für das Kopieren der Elemente aus dem aktuellen Array in das neue, größere Array hinzu (/* das Kopieren eines Elements hat die Kosten 1 */) wir analysieren die amortisierten Kosten der Push-Operation für zwei Realisierungen, wobei der Einfachhalt halber jeweils mit einem Array der Größe 1 begonnen wird 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
7 Amortisierte Analyse von Algorithmen u Ein seriöseres Beispiel (cont.) Variante 1: die Größe des aktuellen Arrays wird bei Bedarf um 1 vergrößert also haben n Push-Operationen maximal die Gesamtkosten a + b, wobei gilt: a = n (/* Einfügen */) b = (n-1) (/* Kopieren */) also sind die amortisierten Kosten pro Push-Operation: (n+1)/2 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
8 Amortisierte Analyse von Algorithmen u Ein seriöseres Beispiel (cont.) Variante 2: die Größe des aktuellen Arrays wird bei Bedarf verdoppelt also haben n Push-Operationen maximal die Gesamtkosten a + b, wobei gilt: a = n (/* Einfügen */) b = i (/* Kopieren */), wobei 2 i die größte Zweierpotenz kleiner als n ist folglich gilt: b 2n - 1 also sind die amortisierten Kosten pro Push-Operation kleiner als 3 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
9 Amortisierte Analyse von Algorithmen u Herangehensweisen an eine amortisierte Analyse Aggregatmethode aufsummieren und teilen Piggy-Bank-Methode zahle für bestimmte Operationen weniger als erforderlich zahle für bestimmte Operationen mehr als nötig und verwende das zu viele Bezahlte, um auftretende Differenzen auszugleichen 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
10 Amortisierte Analyse: Beispiel Binärzähler u Illustrierendes Beispiel wir wollen einen Binärzähler sukzessive von 0 bis zu einer gewünschten Zahl n hochzählen und alle Zählerstände ausgeben lassen.. Eingabe: 12 Ausgabe: 0000,0001,0010,0011,...,1011,1100 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
11 Amortisierte Analyse: Beispiel Binärzähler u Details... es sei A ein hinreichend großes Array for ( i = 0; i n; i++) { increment(a) print(a) }... offenbar werden m Zellen des Arrays A benutzt, wobei m so gewählt wird, das 2 m die kleinste Zweierpotenz größer als n ist... die Print-Operation hat konstante Kosten... die Kosten der Increment-Operation können die Werte 1 bis m annehmen (/* berücksichtigt wird, wie oft in den Zellen des Arrays A eine 0 durch eine 1 bzw. eine 1 durch eine 0 zu ersetzen ist */) 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
12 Amortisierte Analyse: Beispiel Binärzähler u Normale Analyse... n-mal die Kosten für die Print-Operation n-mal die Kosten für die Increment-Opertion, wobei jeweils die maximalen Kosten für diese Operation berücksichtigt werden... eine gute obere Schranke ist: O(n) + O(n*log(n)) u Amortisierte Analyse... n-mal die Kosten für die Print-Operation n-mal die Kosten für die Increment-Opertion, wobei jeweils die amortisierten Kosten pro Increment-Operation berücksichtigt werden... eine gute obere Schranke ist jetzt: O(n) + O(n) 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
13 Amortisierte Analyse: Beispiel Binärzähler u... mit Hilfe der Aggregatmethode wir schauen uns an, wie oft die Werte der einzelnen Zellen des Arrays A bei der Increment-Operation geändert werden der Wert in A[0] ändert sich n-mal der Wert in A[1] ändert sich maximal n/2-mal der Wert in A[2] ändert sich maximal n/4-mal... der Wert in A[m] ändert sich 1-mal... also haben alle n Increment-Operationen zusammen maximal die Kosten 2n und folglich sind die amortisierten Kosten pro Increment- Operation maximal 2 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
14 Amortisierte Analyse: Beispiel Binärzähler u... mit Hilfe der Piggy-Bank-Methode (Vorüberlegung) eine Increment-Operation besteht aus folgenden Elementar-Operationen: den Wert in einer Zelle des Arrays A von 0 auf 1 ändern den Wert in keiner, einer, bzw. maximal m-1 vielen Zellen des Arrays von 1 auf 0 ändern jede Elementar-Operation hat die tatsächlichen Kosten 1 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
15 Amortisierte Analyse: Beispiel Binärzähler u... mit Hilfe der Piggy-Bank-Methode (Ansatz) um die Kosten der durchgeführten Elementar-Operationen begleichen zu können, wählen wir folgenden Ansatz: immer wenn der Wert in einer Zelle des Arrays von 0 auf 1 geändert wird, so werden 2 auf das Konto eingezahlt immer wenn der Wert in einer Zelle des Arrays von 1 auf 0 geändert wird, so wird nichts auf das Konto eingezahlt das aktuell verfügbare Guthaben auf dem Konto wird stets benutzt, um die tatsächlichen Kosten der ausgeführten Elementar-Operationen zu begleichen... wenn nach Durchführung jeder Increment-Operation das Guthaben auf dem Konto größer gleich 0 ist, wissen wir, dass dieses Bezahlmodell ein geeignetes Modell ist 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
16 Amortisierte Analyse: Beispiel Binärzähler u... mit Hilfe der Piggy-Bank-Methode (Begründung) Situation Einzahlung tatsächliche Kosten Guthaben /2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
17 Amortisierte Analyse: Beispiel Binärzähler u... mit Hilfe der Piggy-Bank-Methode (Anmerkung) um besser zu verstehen, das gewählte Bezahlmodell wirklich geeignet ist, hilft folgende Betrachtungsweise: jede Zelle der Tabelle hat ein separates Konto wenn der Wert der Zelle von 0 auf 1 geändert wird, wird auf das Konto für diese Zelle 1 eingezahlt (die verbleibenden 1 werden direkt zum Ausgleich für die tatsächlichen Kosten verwendet) wenn der Wert der Zelle von 1 auf 0 geändert wird, wird vom Konto für diese Zelle ein 1 entnommen (zum Ausgleich für die tatsächlichen Kosten) /2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
18 Amortisierte Analyse: Beispiel Binärzähler u... mit Hilfe der Piggy-Bank-Methode (Konsequenzen) das gewählte Bezahlmodel ordnet jeder Increment-Operation dieselben Kosten zu (nämlich 2 )... folglich sind die amortisierten Kosten pro Increment-Operation maximal 2 (/* am Ende bleibt stets ein Guthaben übrig */) 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
19 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Einordnung mit einer einfachen Dictionary -Datenstrukur möchte man... eine Menge von Objekten verwalten möglichst effizient überprüfen können, ob ein bestimmtes Objekt in der Datenstruktur gespeichert ist (/* Look-up-Operation */) möglichst effizient ein Objekt in die Menge der verwalteten Objekte aufnehmen (/* Insert-Operation */)... benutzt man ein sortiertes Array geht die Look-up-Operation in der Zeit O(log(n)), aber die Insert-Operation benötigt die Zeit O(n)... benutzt man eine verkette Liste geht die Insert-Operation in der Zeit O(1), aber die Look-up-Operation benötigt die Zeit O(n) 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
20 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Einordnung wir schauen uns eine Realisierung dieser Datenstruktur an, die folgende Eigenschaften hat die Look-up-Operation hat die Kosten O(log(n) 2 ) die Insert-Operation hat die amortisierten Kosten O(log(n))... das ist nicht ganz optimal, aber schon ziemlich nah am Optimum (/* das liegt jeweils bei O(log(n)) */) 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
21 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Grundidee zur Verwaltung der Objekte benutzen wir eine Folge von Arrays A 0, A 1, A 2,... jedes Array A i speichert genau 2 i viele Objekte oder ist leer jedes Array A i ist sortiert 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
22 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Beispiel um die Objekte 1,2,...,13 zu verwalten, könnte die Folge der Arrays wie folgt aussehen: 3A 0 3A 1 3A 2 3A /2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
23 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Generelle Regel für die Belegung der Arrays es sei n die Anzahl der aktuell verwalteten Objekte es sei (b m... b 0 ) die Binärdarstellung der Zahl n alle Arrays A i mit i > m sind leer für ein Array A i mit 0 i m gilt: A i speichert 2 i viele Objekte, wenn b i = 1 gilt A i ist leer, wenn b i = 0 gilt 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
24 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Realisierung der Look-up-Operation da jedes Array A i sortiert ist, kann man in jedem belegten Array eine binäre Suche durchführen wenn in einem der belegten Arrays das gesuchte Objekte gefunden wurde, wird ein 1 zurückgeben wenn in keinem der belegten Arrays das gesuchte Objekt gefunden wurde, so wird eine 0 zurückgegeben 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
25 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Analyse der Look-up-Operation es sei n die Anzahl der verwalteten Objekte es sei 2 m die kleinste Zweierpotenz größer als n offenbar können nur die Arrays A 0 bis A m-1 belegt werden in A m-1 können maximal n viele Objekte gespeichert werden in A m-2 können maximal n/2 viele Objekte gespeichert werden in A m-3 können maximal n/4 viele Objekte gespeichert werden... in A 0 kann maximal 1 Objekt gespeichert werden also werden maximal log(n) + log(n/2) viele Vergleiche benötigt... die Look-up-Operation benötigt als die Zeit O(log(n) 2 ) 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
26 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Realisierung der Insert-Operation es sei x das einzufügende Objekt und A 0,...,A m die aktuelle Folge der Arrays bilde ein Array A 0 der Größe 1, das das Objekt 1 speichert falls A 0 leer ist, so ersetze A 0 durch A 0 falls A 0 belegt ist, so mache A 0 leer und verschmelze A 0 und A 0 zu einem sortierten Array A 1 falls A 1 leer ist, so ersetze A 1 durch A 1 falls A 1 belegt ist, so so mache A 1 leer und verschmelze A 1 und A 1 zu einem sortierten Array A /2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
27 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Beispiel wenn in der folgenden Situation das Objekt 17 eingefügt wird, erhält man: 3A 0 3A 1 3A 2 3A /2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
28 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Analyse der amortisierten Kosten der Insert-Operation wir legen die folgenden tatsächlichen Kosten für die relevanten Elementar-Operationen zugrunde ein Array der Größe 1 zu erzeugen hat die Kosten 1 zwei sortierte Arrays der Größe z zu verschmelzen hat die Kosten 2z (/* adäquat, da nicht mehr Vergleiche benötigt werden, um aus zwei sortierte Listen der Länge z eine sortierte Liste der Länge 2z zu machen */)... im letzten Beispiel wären die Kosten 1+2 angefallen... wenn wir das nächste Objekt einfügen, würden die Kosten 1 anfallen... wenn wir noch ein Objekt einfügen, würden die Kosten anfallen 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
29 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Analyse der amortisierten Kosten der Insert-Operation (cont.) um nun die amortisierten Kosten pro Insert-Operation mit Hilfe der Aggregatmethode zu bestimmen, benutzen wir folgende Sichtweise: es sei n die Anzahl der betrachteten Insert-Operationen die n Objekte in die anfangs leere Datenstruktur einzufügen, bedeutet nichts anderes, als einen Binärzähler von 0 bis n hochzuzählen 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
30 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Beispiel für n = 8 Beschreibung der Situation tatsächliche Kosten /2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
31 Amortisierte Analyse: Beispiel Einfache Dictionary -Datenstruktur u Analyse der amortisierten Kosten der Insert-Operation (cont.) es sei m die kleinste Zweierpotenz größer gleich n die insgesamt anfallenden Kosten können wie folgt beschrieben werden: es wird n-mal ein Array der Größe 1 erzeugt (/* jeweils Kosten 1 */) es werden maximal n/2-mal zwei sortierte Arrays der Größe 1 verschmolzen (/* jeweils Kosten 2 */) es werden maximal n/4-mal zwei sortierte Arrays der Größe 2 verschmolzen (/* jeweils Kosten 4 */)... es werden maximal 1-mal zwei sortierte Arrays der Größe n/2 verschmolzen (/* Kosten n */)... also benötigen n Insert-Operationen die Zeit O(n*log(n))... also hat eine Insert-Operationen die amortisierten Kosten O(log(n)) 2/2, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik
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
MehrKapitel 3: Untere Schranken für algorithmische Probleme Gliederung
Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte
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. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI
MehrModul Algorithmik, T-Katalog
Modul Algorithmik, T-Katalog Sommersemester 2017 Steffen Lange 1/1, Folie 1 2017 Prof. Steffen Lange - HDa/FbI - Algorithmik Organisatorisches u Vorlesung Folien im Netz u Übung eine Übung alle 14 Tage
MehrKapitel 2: Sortier- und Selektionsverfahren Gliederung
Gliederung 1. Laufzeit von Algorithmen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Randomisierte Algorithmen
MehrKapitel 1: Motivation / Grundlagen Gliederung
Gliederung 1. Motivation / Grundlagen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Umgang mit algorithmisch schwierigen
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Pfade 6. Traveling Salesman Problem 7. Flüsse
MehrKapitel 3: Sortierverfahren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
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. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
Mehr1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen
Gliederung 1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen 1/1, Folie 1 2009 Prof. Steffen Lange - HDa/FbI - Effiziente
MehrKapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung
Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
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
MehrÜbungsklausur Algorithmen I
Jun.-Prof. Hofheinz, Jun.-Prof. Meyerhenke (ITI, KIT) 08.06.2015 Übungsklausur Algorithmen I Aufgabe 1. (Algorithm Engineering) Nennen Sie zwei Konzepte, die Algorithm Engineering im Gegensatz zu theoretischer
MehrKapitel 4: Netzplantechnik Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Netzplantechnik 5. Minimal spannende Bäume 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
MehrKapitel 9: Lineare Programmierung Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda Amortisierte Analyse Suche in sortierten Arrays Heaps Vorstellen des fünften Übungsblatts
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
MehrKapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie
Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen
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
MehrAufgaben zur Klausurvorbereitung
Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014
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. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 2/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2014/2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen
Mehr12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.
Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrKapitel 4: Komplexitätstheorie Gliederung
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 4.1. Motivation und Grundbegriffe 4.2. Die Komplexitätsklassen P und NP 4.3.
Mehr3. Übungsblatt zu Algorithmen I im SoSe 2017
Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799
MehrContainerDatenstrukturen. Große Übung 4
ContainerDatenstrukturen Große Übung 4 Aufgabenstellung Verwalte Kollektion S von n Objekten Grundaufgaben: Iterieren/Auflistung Suche nach Objekt x mit Wert/Schlüssel k Füge ein Objekt x hinzu Entferne
MehrKapitel 8: Bipartite Graphen Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
MehrKapitel 4: Komplexitätstheorie Gliederung
Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 4.1. Motivation und Grundbegriffe 4.2. Die Komplexitätsklassen P und NP
MehrKapitel 2: Zahlentheoretische Algorithmen Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
Mehr5. Übungsblatt zu Algorithmen I im SoSe 2016
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Lukas Barth, Lisa Kohl 5. Übungsblatt zu Algorithmen I im SoSe 2016 https://crypto.iti.kit.edu/index.php?id=algo-sose16
Mehr13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)
AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode
MehrÜbungsklausur Algorithmen I
Name: Vorname: Matrikelnr.: Tutorium: Jun.-Prof. Hofheinz, Jun.-Prof. Meyerhenke (ITI, KIT) 08.06.2015 Übungsklausur Algorithmen I Aufgabe 1. (Algorithm Engineering) [2 Punkte] Nennen Sie zwei Konzepte,
MehrKapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung
Kapitel : Fallstudie Bipartite Graphen Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und. Minimal spannende Bäume. Kürzeste Wege 6. Traveling Salesman
MehrTheoretische Informatik
Theoretische Informatik Sommersemester 2016 Steffen Lange 0/1, Folie 1 2016 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik Literatur S. Lange, M. Margraf, Theoretische Informatik, Lehrmaterial
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
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
MehrAlgorithmen I - Tutorium 28 Nr. 3
Algorithmen I - Tutorium 28 Nr. 3 18.05.2016: Spaß mit Listen, Arrays und amortisierter Analyse Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 5 FS 14
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 26. März
MehrDatenstrukturen und Algorithmen. Vorlesung 8
Datenstrukturen und Algorithmen Vorlesung 8 Inhaltsverzeichnis Vorige Woche: ADT Stack ADT Queue Heute betrachten wir: ADT Deque ADT Prioritätsschlange Binomial-Heap Schriftliche Prüfung Informationen
MehrKapitel 4: Minimal spannende Bäume Gliederung der Vorlesung
Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling
MehrKapitel 4: Minimale spannende Bäume Gliederung der Vorlesung
Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman
MehrAlgorithmen I - Tutorium 28 Nr. 7
Algorithmen I - Tutorium 28 Nr. 7 14.07.2016: Spaß mit Heaps und weiteren Baeumen Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE KIT
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 9 (28.5.2014) Hashtabellen III Algorithmen und Komplexität Offene Adressierung : Zusammenfassung Offene Adressierung: Alle Schlüssel/Werte
MehrAlgorithmen und Datenstrukturen I Grundlagen
Algorithmen und Datenstrukturen I Grundlagen Prof. Dr. Oliver Braun Letzte Änderung: 01.11.2017 14:15 Algorithmen und Datenstrukturen I, Grundlagen 1/24 Algorithmus es gibt keine präzise Definition Handlungsvorschrift
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (16 Dynamische Tabellen) Prof. Dr. Susanne Albers Dynamische Tabellen Problem: Verwaltung einer Tabelle unter den Operationen Einfügen und Entfernen,
MehrAlgorithmen und Datenstrukturen I. Grundlagen. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München
Algorithmen und Datenstrukturen I Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.03.2018 18:16 Inhaltsverzeichnis Algorithmus..................................... 2 Problem
MehrAlgorithm Engineering. Amortisierung. Stefan Edelkamp
Algorithm Engineering Amortisierung Stefan Edelkamp Analyse von Algorithmen Best Case Worst Case Average Case Amortisierte Worst Case Was sind die durchschnittlichen Kosten einer schlechtest möglichen
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und
MehrAbschnitt 7: Komplexität von imperativen Programmen
Abschnitt 7: Komplexität von imperativen Programmen 7. Komplexität von imperativen Programmen 7 Komplexität von imperativen Programmen Einf. Progr. (WS 08/09) 399 Ressourcenbedarf von Algorithmen Algorithmen
MehrÜbung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15
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 18. März
MehrBeispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5
Robert Elsässer Paderborn, den 15. Mai 2008 u.v.a. Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 AUFGABE 1 (6 Punkte): Nehmen wir an, Anfang bezeichne in einer normalen
MehrWie beim letzten Mal - bitte besucht: http://pingo.upb.de/549170 Ihr seid gleich wieder gefragt... Übung Algorithmen I 4.5.16 Lukas Barth lukas.barth@kit.edu (Mit Folien von Julian Arz, Timo Bingmann,
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 12
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 8. März
MehrLösungsvorschläge zur Hauptklausur Datenstrukturen
Lösungsvorschläge zur Hauptklausur 9 9 166211663 Datenstrukturen 9. August 2003 Seite 2 Lösungsvorschlage zur Klausur vom 9.08.2003 Kurs 166211663,,Datenstrukturen" Aufgabe 1 Bei jedem rekursiven Aufruf
Mehr7. Übung zu Algorithmen I 1. Juni 2016
7. Übung zu Algorithmen I 1. Juni 2016 Lukas Barth lukas.barth@kit.edu (mit Folien von Lisa Kohl) Roadmap Ganzzahliges Sortieren mit reellen Zahlen Schnellere Priority Queues Bucket Queue Radix Heap Organisatorisches
MehrDatenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Präsenzübung Musterlösung Dienstag, 28.05.2013 Aufgabe 1 (Allgemeine Fragen [20 Punkte]) 1. Tragen Sie in der folgenden Tabelle die Best-, Average- und Worst-Case-
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
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
MehrÜbung zu Algorithmen I 31. Mai 2017
Übung zu Algorithmen I 31. Mai 2017 Sascha Witt sascha.witt@kit.edu (mit Folien von Lukas Barth und Lisa Kohl) 1 / 25 Organisatorisches Korrigierte Übungsblätter Tutoren behalten Übungsblätter ca. zwei
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2017/18 Pro f. Dr. Sán do r Fe k e te 1 4.1 Grundoperationen Aufgabenstellung: 3 4.1 Grundoperationen Aufgabenstellung: Verwalten
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrRange-Search. Operationen: Welche Datenstrukturen sind geeignet? Arrays? Listen? AVL-Bäume? Splay-Bäume?
Algorithmische Geometrie Die Technik der Sweepline Range-Search (Folie 431, Seite 79 im Skript) Operationen: 1 Einfügen einer Zahl x 2 Löschen einer Zahl x 3 Ausgabe aller gespeicherter Zahlen in [a, b]
MehrAmortisierte Analyse
Amortisierte Analyse Amortisierung Betrachte eine Folge a 1, a 2,..., a n von n Operation auf Datenstruktur D T i = Ausführungszeit von a i T = T 1 + T 2 +... + T n, Gesamtlaufzeit Oft kann die Laufzeit
MehrKapitel 3: Berechnungstheorie Gliederung
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Einordnung 3.2. Berechnungsmodelle 3.3. Diskussion 3.4. Ergebnisse und
MehrAlgorithmische Techniken für Geometrische Probleme
Algorithmische Techniken für Geometrische Probleme Berthold Vöcking 14. Juni 2007 Inhaltsverzeichnis 1 Die Sweepline-Technik 2 1.1 Schnitte orthogonaler Liniensegmente............... 2 1.2 Schnitte beliebiger
MehrAbstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.
Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung
MehrKapitel 10. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 10 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrDies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen.
Linken von Bäumen: Zwei Bäume desselben Wurzel-Rangs werden unter Einhaltung der Heap-Bedingung verbunden. Sind k 1 und k 2 die Wurzeln der zwei zu linkenden Bäume, so wird ein neuer Baum aufgebaut, dessen
MehrHumboldt-Universität zu Berlin Berlin, den Institut für Informatik
Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt
MehrDatenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik
5. Datenstrukturen Motivation Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik Eine Datenstruktur speichert gegebene Daten und stellt auf diesen bestimmte Operationen
MehrKapitel 3: Berechnungstheorie Gliederung
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Einordnung 3.2. Berechnungsmodelle 3.3. Diskussion 3.4. Ergebnisse und
MehrKapitel 3: Kürzeste Pfade Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in
MehrAmortisierte Laufzeitanalyse
Paris-Lodron Universität Salzburg 24 Januar, 2014 Inhaltsverzeichnis 1 Einführung Definition Beispiel:Stapeloperationen Beispiel: Binärzähler (1/2) Beispiel: Binärzähler (2/2) 2 Analyse der Stack mittels
Mehr2. Hausübung Algorithmen und Datenstrukturen
Prof. Dr. Gerd Stumme, Folke Eisterlehner, Dominik Benz Fachgebiet Wissensverarbeitung 7.4.009. Hausübung Algorithmen und Datenstrukturen Sommersemester 009 Abgabetermin: Montag, 04.05.009, 10:00 Uhr 1
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.
MehrGrundlagen der Informatik
Grundlagen der Informatik Musterklausur 1. Dynamische Datenstrukturen und objektorientierte Programmierung Zur Verwaltung einer digitalen Fotogalerie sollen Techniken der objektorientierten Programmierung
MehrÜbungen zur Vorlesung Datenstrukturen und Algorithmen SS 07 Beispiellösung Blatt 5
Kamil Swierkot Paderborn, den 01.06.2007 Aufgabe 17 Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 07 Beispiellösung Blatt 5 Bei der Optimierungsvariante des SubSetSum Problems wird bei der Eingabe
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 Bruder-Bäume, B-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei Wörterbuchoperationen
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 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrKapitel 5: Minimale spannende Bäume Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrWas bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch
Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch verschiedene Datenstrukturen: lineare Datenstrukturen: Array,
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Sortierte Folgen Maike Buchin 30.5., 1.6., 13.6.2017 Sortierte Folgen Häufiges Szenario: in einer Menge von Objekten mit Schlüsseln (aus geordnetem Universum) sollen Elemente
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2016/2017 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Phillip Keldenich Arne Schmidt Klausur Algorithmen
Mehr1. Übungsblatt zu Algorithmen II im WS 2011/2012
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Moritz Kobitzsch, Dennis Schieferdecker. Übungsblatt zu Algorithmen II im WS 0/0 http://algo.iti.kit.edu/algorithmenii.php
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B4. Priority Queues und Heaps Marcel Lüthi and Gabriele Röger Universität Basel 28. März 2018 Einführung Kollektion von Elementen Grundlegende Operationen sind Einfügen
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
MehrTheoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme
Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien
MehrDatenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange
Datenstrukturen Sommersemester 2010 Steffen Lange 1/1, Folie 1 2010 Prof. Steffen Lange - HDa/FbI - Datenstrukturen Organisatorisches Vorlesung wöchentlich; zwei Blöcke Folien im Netz (/* bitte zur Vorlesung
MehrLösungsvorschlag 1. Vorlesung Algorithmentechnik im WS 09/10
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Lösungsvorschlag Vorlesung Algorithmentechnik im WS 09/0 Problem : Dynamisches Array (Amortisierte Analyse) [vgl. Kapitel 0.3 im Skript]
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,
Mehr