Nr. | Tag | Zeit | Ort | Tutor |
---|---|---|---|---|
1 | Mo | 14:00-15:30 Uhr | E.46 | Roman Flammer |
2 | Mo | 16:00-17:30 Uhr | E.46 | Roman Flammer |
3 | Do | 14:15-15:45 Uhr | 1.35 | Flavia Moser |
4 | Do | 14:15-15:45 Uhr | 1.39 | Ralph Matthes |
5 | Do | 16:15-17:45 Uhr | 1.05 | Flavia Moser |
6 | Fr | 16:15-17:45 Uhr | 1.27 | Ralph Matthes |
Hörsäle E.46, E.51 und E.52 in der
Theresienstraße 39
Alle übrigen Hörsäle in der Oettingenstraße 67
Der Übungsbetrieb ist beendet.
zurück zum Inhaltsverzeichnis dieser Seite
Die Vorlesung führt in grundlegende Algorithmen und Datenstrukturen ein, welche in fast allen Gebieten der Informatik und verwandten Disziplinen Anwendung finden. Wir lehnen uns eng an das unten angegebene Lehrbuch von Cormen et al. an, das in mehreren Präsenzexemplaren in der Bibliothek vorhanden ist.
zurück zum Inhaltsverzeichnis dieser Seite
Datum | behandelte Themen |
---|---|
8.4. | Organisatorisches, Übersicht, Literatur, Einführung, Beispiel: Insertion-Sort. |
10.4. | Asymptotische Notation. Entwurfsmethode Divide-and-conquer, Beispiel: Merge-Sort. Master-Methode zum Lösen von Divide-and-conquer Rekursionen, mit Beispielen. |
15.4. | Divide-and-conquer-Verfahren zur Multiplikation von Matrizen nach Strassen. Übersicht Kapitel 2: Sortieren und Suchen. Datenstruktur Heap, Prozeduren Heapify, Build-Heap und Heap-Sort. |
24.4. | Quicksort: Algorithmus, best-case O(n log n), worst-case O(n^2). Probabilistisches Quicksort, erwartete Laufzeit ist O(n log n). Vorführung animierter Sortieralgorithmen. Untere Schranke von Omega(n log n) für vergleichsbasiertes Sortieren. |
29.4. | Obere und untere Schranken für Bestimmung des Maximums, und des Maximums und Minimums simultan. Selektion: Problemstellung, Probabilistischer und deterministischer Algorithmus zur Selektion in erwarteter bzw. worst-case Linearzeit. |
6.5. | Übersicht Kapitel 3: Datenstrukturen. Prioritätswarteschlangen und ihre Realisierung durch Heaps. Dynamische Mengen, Realisierung durch binäre Suchbäume. Rot-Schwarz-Bäume: Definition, Eigenschaften, 2log(n+1) obere Schranke an die Höhe, Einfügeoperation. |
8.5. | Einfüge- und Löschoperationen für Rot-Schwarz-Bäume. Hashtabellen: Motivation durch direkte Adressierung, Häufigkeit von Kollisionen, Kollisionsbehandlung durch Verkettung, Hashfunktionen: Divisions- und Multiplikationsmethode. |
13.5. | Offen adressierte Hashtabellen: Einfüge und Suchprozedur. Lineares und Quadratisches Sondieren, double hashing. Berechnung der mittleren Zahl von Sondierungen bei erfolgloser und erfolgreicher Suche. Übersicht Kapitel 4: Entwurfs- und Analysemethoden. Einführung in dynamische Programmierung und Optimierungsprobleme. |
15.5. | Dynamische Programmierung, Konzept und Beispiele: optimale Klammerung bei der Multiplikation von mehreren (nichtquadratischen) Matrizen, Berechnung einer längsten gemeinsamen Teilfolge zweier Folgen. |
20.5. | Greedy-Algorithmen: Konzept und einfache Beispiele, Auswahlproblem als künstliches Beispiel. Huffman-Codes: Definition, Nutzen zur Datenkompression, Greedy-Algorithmus zur Konstruktion. |
22.5. | Verbesserte Behandlung von Greedy-Algorithmen: abstrakter Greedy-Algorithmus und Bedingungen, unter denen er eine optimale Lösung liefert. Beispiele vom 20.5. als Spezialfälle, damit Beweis der Korrektheit des Huffman-Algorithmus. |
27.5. | Amortisierungs-Analyse: Konzept, Beispiel Binärzähler, Methoden: Aggregat-, Konto- und Potenzialmethode. Weiteres Beispiel: Realisierung einer queue durch zwei stacks. Abstrakte Datenstruktur für Familien disjunkter Mengen (union-find). |
3.6. | Realisierung der union-find Datenstruktur durch Wälder. Analyse der Komplexität der union-find Wälder mit Rangfunktion, obere Schranke für Wälder mit Pfadkompression erwähnt. Übersicht Kapitel 5: Graphalgorithmen. |
12.6. | Graphalgorithmen: Breiten- und Tiefensuche, topologische Sortierung von gerichteten azyklischen Graphen, Zerlegung in starke Zusammenhangskomponenten. |
17.6. | Beweis der Korrektheit des Algorithmus zur Zerlegung in starke Zusammenhangskomponenten. Minimale Spannbäume: Algorithmen von Kruskal und Prim. Kürzeste Wege: Problemstellung. |
24.6. | Kürzeste Wege: Relaxation, Invarianten beliebiger Folgen von Relaxationen, Algorithmen von Dijkstra und für kürzeste Wege in dags, mit Beweis der Korrektheit. |
26.6. | Kürzeste Wege: Algorithmus von Bellman-Ford, Korrektheit. Algorithmen zur Berechnung der Minimaldistanzen zwischen je zwei Knoten (all pairs shortest path), mit Matrizenmultiplikation und à la Floyd-Warshall. |
1.7. | Flüsse in Netzwerken: Problemstellung, Definitionen. Restnetzwerk und Erweiterungspfade, Methode von Ford-Fulkerson. Konkretisierung als Edmonds-Karp-Algorithmus. |
3.7. | Algorithmische Geometrie: Übersicht, Einführung. Punkte, Geraden und Strecken, Kreuzprodukt mit Anwendungen. Schnitte zweier Strecken, Verfahren zum Finden von Schnitten in einer Menge von Strecken. |
8.7. | Algorithmische Geometrie: Konvexe Hülle einer endlichen Punktmenge, Algorithmen zur Berechnung: Graham's scan und Jarvis' march. Divide-and-conquer Algorithmus zum Finden zweier Punkte minimaler Distanz in einer endlichen Punktmenge. |
10.7. | String Matching: Problemstellung, Anwendungen. Naiver Algorithmus, Algorithmus von Rabin-Karp mittels fingerprints. String matching mit endlichen Automaten. |
zurück zum Inhaltsverzeichnis dieser Seite
zurück zum Inhaltsverzeichnis dieser Seite
Keinerlei Hilfsmittel sind erlaubt. Bringen Sie aber unbedingt passende Schreibgeräte mit. Ein amtlicher Lichtbildausweis und Ihr Studentenausweis sind unbedingt zur Klausur mitzubringen. Sollten Sie aus gesundheitlichen Gründen am Mitschreiben verhindert sein, so müssen wir auf der unverzüglichen Vorlage eines ärztlichen Attests bestehen. Auch dann werden wir einen Weg der Leistungsfeststellung finden.
123 Teilnehmer haben sich zur ersten Klausur angemeldet, 18 von diesen sind nicht Übungsteilnehmer.
63 Teilnehmer haben die erste Klausur mitgeschrieben.
29 Teilnehmer haben die zweite Klausur mitgeschrieben. Dafür gab es keine Zulassungsbeschränkung.
75,9 Prozent der Teilnehmer der zweiten Klausur haben die hypothetische Bestehensgrenze der zweiten Klausur erreicht.
1 Teilnehmer hat bereits mit der ersten Klausur den Schein
erworben.
16 Teilnehmer haben mit der zweiten Klausur alleine
den Schein erworben, davon zwei Teilnehmer, die in der ersten Klausur nicht die hypothetische Bestehensgrenze erreichten.
1 Teilnehmer erhält den Schein trotz Nichterreichens
der hypothetischen Bestehensgrenze der zweiten Klausur.
5 Teilnehmer erhalten den Schein trotz Nichterreichens
der hypothetischen Bestehensgrenze der ersten Klausur.
23 Teilnehmer erhalten einen Schein.