Datenstrukturen
Vorlesung im SoSe 2012
Gehalten von Dr. Mariano ZelkeAktuelles
Im Logbuch finden Sie nach den Vorlesungen Informationen zum Inhalt der einzelnen Vorlesungsstunden und gelegentlich ergänzende Bemerkungen.- Ergebnisse und Exemplar der Klausur vom 27.07.2012, Ergebnisse und Exemplar der Klausur vom 01.10.2012 (Es gibt keine Musterlösung zu den Klausuren.).
- Die Nachklausur findet am 01.10.12 ab 9:00 Uhr in Hörsaal H V statt. Bitte denken Sie an eine rechtzeitige Anmeldung. Es gelten die gleichen Hinweise wie für die vergangene Klausur (bis auf das Datum). Die in diesem Sommersemester erworbenen Bonuspunkte werden für die Klausur angerechnet.
- Die Bonuspunkte dieses Semesters können in folgender PDF-Datei eingesehen werden. Bitte prüfen Sie, ob Ihre Bonuspunkte korrekt in der Liste eingetragen sind. Einsprüche gegen den in der Liste eingetragenen Punktestand müssen bis spätestens Mittwoch, den 25.07.2012, 16:00 Uhr erfolgen. Kommen Sie dazu am besten mit dem betreffenden Übungsblatt in Raum 113 in der Robert-Meyer-Str. 11-15 vorbei.
- Die Nachklausur findet am 01.10.12 statt, eine Teilnahme an der Klausur am 27.07.12 ist keine Voraussetzung zur Teilnahme an der Nachklausur. Die in diesem Semester erworbenen Bonuspunkte werden auch für die Klausur am 01.10.12 angerechnet.
- Wichtige Hinweise zur Klausur finden Sie hier.
- Zur Unterstützung Ihrer Klausurvorbereitungen gibt es folgende Help-Desk-Termine:
- Dienstag, den 17.07.12, 14-16 Uhr im Raum SR 307: Maziar Behdju
- Mittwoch, den 18.07.12, 12-14 Uhr im Raum SR 307: Christian Neumann
- Montag, den 23.07.12, 10-12 Uhr im Raum SR 307: Edgardo Deza
- Dienstag, den 24.07.12, 14-16 Uhr im Magnus-Hörsaal: Jens Keppeler
Einführung
Die Vorlesung behandelt die Laufzeitanalyse, fundamentale Datenstrukturen und allgemeine Methoden für den Entwurf und die Analyse von Datenstrukturen. Die Analyse von Datenstrukturen im Hinblick auf Laufzeit und Speicherplatzbedarf wird motiviert. Die asymptotische Notation wird eingeführt, und Methoden zur Lösung von Rekursionsgleichungen werden besprochen.Elementare Datenstrukturen wie Listen, Keller und Warteschlangen werden beschrieben und analysiert. Weiter werden die Darstellung von Bäumen und allgemeinen Graphen im Rechner und Algorithmen zur systematischen Durchmusterung von Graphen diskutiert.
Der Begriff des abstrakten Datentyps wird eingeführt und motiviert, und effiziente Realisierungen der Datentypen des Wörterbuchs und der Prioritätswarteschlange unter Benutzung von Bäumen (beispielsweise AVL-, Splay-Bäume und B-Bäume) und Hashing (auch verteiltes Hashing und Bloom-Filter) werden besprochen. Außerdem werden effiziente Datenstrukturen für das Union-Find-Problem behandelt.
Kürzel laut Studienordnung: B-DS. Creditpoints: 5. SWS: 2V, 1Ü.
Logbuch
Hier finden Sie (nach den Vorlesungen) Informationen zum Inhalt der einzelnen Vorlesungsstunden, die in der Vorlesung verwendeten Folien und gelegentlich ergänzende Bemerkungen.E-Lectures
Im Sommersemester 2012 wurden die Vorlesungen von studiumdigitale, der E-Learning-Einrichtung der Goethe-Universität, auf Video aufgezeichnet. Die einzelnen Aufzeichnungen finden Sie hier:- Einführung [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 10.4.2012)
- Die asymptotische Notation [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 17.4.2012)
- Wachstumshierarchie und Lösen von Rekursionsgleichungen [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 24.4.2012)
- Das Mastertheorem und Laufzeitbestimmung von C++ Programmfragmenten [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 8.5.2012)
- Einfach verkettete Listen, Stacks, Deques, Queues sowie Bäume [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 15.5.2012)
- Implementierung von Bäumen, Postorder, Preorder, Inorder, Graphen, topologische Sortierung [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 22.5.2012)
- Adjazenzmatrix- und liste, Tiefensuche in ungerichteten und gerichteten Graphen [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 29.5.2012)
- Breitensuche, Prioritätswarteschlange und Heap [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 5.6.2012)
- Datenstruktur Heap Teil 2, Heapsort, Algorithmen von Dijkstra und Prim [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 12.6.2012)
- Algorithmus von Kruskal, Union-Find-Datenstruktur, Binäre Suchbäume [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 19.6.2012)
- Binäre Suchbäume, AVL-Bäume [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 26.6.2012)
- Abschluss AVL-Bäume, Hashing [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 3.7.2012)
- Wiederholung, Klausurhinweise [Flash | QuickTime | Mobile | MP3] (Aufzeichnung vom 10.7.2012)
Termine
Zeit | Ort | Leitung | |
---|---|---|---|
Vorlesung | Dienstag 8:00-10:00 (vom 10.04.-13.07.) |
Magnus-Hörsaal in der Informatik, Robert-Mayer-Str. 11-15 | Dr. Mariano Zelke |
Übung 1 | Montag 12:00-14:00 (14-tägl. ab 16.04.) |
NM 126 | Maziar Behdju |
Übung 2 | Montag 12:00-14:00 (14-tägl. ab 23.04.) |
NM 126 | Maziar Behdju |
Übung 3 | Mittwoch 12:00-14:00 (14-tägl. ab 18.04.) |
NM 103 | Christian Neumann |
Übung 4 | Mittwoch 12:00-14:00 (14-tägl. ab 25.04.) |
NM 103 | Christian Neumann |
Übung 5 | Donnerstag 08:00-10:00 (14-tägl. ab 19.04.) |
NM 126 | Hannes Seiwert |
Übung 6 | Donnerstag 08:00-10:00 (14-tägl. ab 26.04.) |
NM 126 | Hannes Seiwert |
Übung 7 | Freitag 08:00-10:00 (14-tägl. ab 20.04.) |
NM 126 | Edgardo Deza |
Übung 8 | Freitag 08:00-10:00 (14-tägl. ab 27.04.) |
NM 126 | Edgardo Deza |
Übung 9 | Mitwoch 12:00-14:00 (14-tägl. ab 18.04.) |
AfE 104b | Jens Keppeler |
Übung 10 | Mittwoch 12:00-14:00 (14-tägl. ab 25.04.) |
AfE 104b | Jens Keppeler |
Übung 11 | Montag 12:00-14:00 (14-tägl. ab 16.04.) |
AfE 104b | Dr. Annamaria Kovacs |
Übung 12 | Montag 12:00-14:00 (14-tägl. ab 23.04.) |
AfE 104b | Dr. Annamaria Kovacs |
Übungsblätter
Es wird regelmäßige Übungsaufgaben geben. Die Teilnahme an den Übungsstunden und das Bearbeiten der Übungsaufgaben ist für das Verständnis der Vorlesung und eine erfolgreiche Prüfung unbedingt empfohlen. Insbesondere kann durch die in den Übungen gesammelten Punkte ein Bonus für die Klausur erworben werden (Details siehe Klausur).
Das aktuelle Übungsblatt ist jeweils 14-tägig spätestens dienstags nach der Vorlesung an dieser Stelle zu finden und wird außerdem dienstags in gedruckter Form am Ende der Vorlesung ausgeteilt. Die Abgabe der bearbeiteten Übungsaufgaben erfolgt jeweils 2 Wochen später dienstags, bis spätestens 8:15 Uhr vor Beginn der Vorlesung. Achtung: Auf dem abgegebenen Übungsblatt müssen Name, Matrikelnummer und Übungsgruppe vermerkt sein. Mehrseitige Abgaben sind zusammenzuheften. Die Abgabe erfolgt in Papierform (eine elektronische Abgabe ist aus logistischen Gründen leider nicht möglich).
Obwohl es sicherlich sinnvoll ist, über die Aufgaben mit Kommilitonen/innen gemeinsam zu reden und nachzudenken, sollte jede/r Student/in seine eigene Lösung aufschreiben und abgeben.
- Präsenzaufgaben ( ausgeteilt am Di, 10.04.2012 (zur gemeinsamen Bearbeitung in der ersten Übungsstunde, keine Punktevergabe, kein Abgabetermin) )
- Übungsblatt 1 ( ausgeteilt am Di, 10.04.2012 ; zu bearbeiten bis Di, 24.04.2012 )
- Übungsblatt 2 ( ausgeteilt am Di, 24.04.2012 ; zu bearbeiten bis Di, 15.05.2012 )
- Übungsblatt 3 ( ausgeteilt am Di, 15.05.2012 ; zu bearbeiten bis Di, 29.05.2012 )
- Übungsblatt 4 ( ausgeteilt am Di, 29.05.2012 ; zu bearbeiten bis Di, 12.06.2012 )
- Übungsblatt 5 ( ausgeteilt am Di, 12.06.2012 ; zu bearbeiten bis Di, 26.06.2012 )
- Übungsblatt 6 ( ausgeteilt am Di, 26.06.2012 ; zu bearbeiten bis Do, 05.07.2012 )
Anleitung für die Übungsgruppen-Anmeldung im LSF
Falls Sie an den Übungen teilnehmen wollen, müssen Sie sich im Zeitraum vom 1. bis 13. April (11:59 Uhr) über HIS-LSF für die Übung anmelden.Zur Anmeldung für die Übungen verfahren Sie am besten wie folgt:
- Rufen Sie die Webseite zur Übungsanmeldung auf.
- Falls Sie sich im LSF noch nicht angemeldet haben, klicken Sie im Menü direkt unter dem Goethe-Universitäts-Logo (oben links) auf "Anmelden" und tragen Sie unter "Login" und "Passwort" Ihren HRZ-Benutzernamen und das dazugehörige Passwort ein. Nachdem Sie mit "Ok" bestätigt haben, kommen Sie wieder auf die Seite für die Anmeldung für die Übungen zur VL "Datenstrukturen" zurück.
- Klicken Sie nun direkt unterhalb der Überschrift "Datenstrukturen - Einzelansicht" auf den Link "belegen/abmelden".
- Sie sehen jetzt eine Ansicht aller verfügbaren Übungsgruppen. Sie können jetzt bis zu drei Tutoriumstermine auswählen, wobei für jeden Termin eine Priorität festgelegt werden kann. Wählen Sie dazu für jeden Termin die Priorität aus und beachten Sie, dass jede Priorität nur einmal vergeben werden kann.
- Klicken Sie abschließend auf "Platz beantragen".
- Melden Sie sich nach der Anmeldung zu den Übungen am besten im oberen Menü wieder aus dem LSF ab.
- Beachten Sie bitte: Erst nach dem abschließenden Losverfahren nach Ende der Anmeldefrist am 13. April (11:59 Uhr) sind Sie einer Übungsgruppe fest zugeordnet. Es kann außerdem nicht garantiert werden, dass Sie einer der Übungsgruppen zugeteilt werden, für die Sie eine Priorität vergeben haben.
Klausur
|
Literatur
[S] | Prof. Dr. G. Schnitger Skript zur Vorlesung "Datenstrukturen" |
---|---|
[IA] | T. H. Cormen, C. E. Leiserson, R. L. Rivest und C. Stein. Introduction to Algorithms, Second Edition, MIT Press, 2001. |
[DSA] | M. T. Goodrich, R. Tamassia und D. M. Mount. Data Structures and Algorithms in C++, John Wiley, 2003. |
[AD] | J. Kleinberg und E. Tardos. Algorithm Design, Addison-Wesley, 2005. |