Vorlesung und Übungen: Datenstrukturen und Algorithmen

Sommersemester 2019

Dozent: Prof. Andres Bruhn
Übungskoordinator: Dr. Steffen Koch
Mitarbeiter: Martin Baumann, Moritz Knabben, Michael Stoll

Sommersemester 2019
Vorlesung mit Übungen (4+2SWS)
Sprache: Deutsch

Vorlesung: Montag, 15:45 - 17:15, Pfaffenwaldring 47, Hörsaal V47.02.
Vorlesung: Mittwoch, 15:45 - 17:15, Pfaffenwaldring 47, Hörsaal V47.02.

+-

In dieser Veranstaltung werden zentrale Algorithmen auf geeigneten Datenstrukturen vorgestellt, die für eine effiziente Nutzung von Computern unverzichtbar sind. Die TeilnehmerInnen lernen, zu gängigen Problemen geeignete Lösungen anzugeben und diese in einer konkreten Programmiersprache zu formulieren.

Weitere Informationen zur Vorlesung und Übung in ILIAS. (In der ersten Vorlesung gibt es hierzu nochmal genauere Details, sowie zur Anmeldung der Gruppen für die Übungen)

  • Kenntnis der Eigenschaften elementarer und häufig benötigter Algorithmen
  • Verständnis für die Auswirkungen theoretischer und tatsächlicher Komplexität
  • Erweiterung der Kompetenz im Entwurf und Verstehen von Algorithmen und der zugehörigen Datenstrukturen
  • Erste Begegnung mit nebenläufigen Algorithmen

Grundlegende Kenntnisse in objektorientierter Programmierung (hier Java), theoretischer Informatik und Mathematik werden vorausgesetzt. Insbesondere wird der Besuch der Veranstaltung "Programmierung und Software-Entwicklung" als Grundlage empfohlen.

Die Bekanntgabe des Prüfungstermins und die Anmeldung zur Prüfung erfolgt im Campus-System.

Das Skript zu dieser Veranstaltung (Folien), Übungsblätter und weitere Materialien werden sukzessive in ILIAS bereitgestellt.

Vorlesung 01

08.04.2019

Organisatorisches
Listen – Datenstrukturen, Suchen

Vorlesung 02

10.04.2019

Listen – Datenstrukturen, Java

Vorlesung 03

15.04.2019

Listen – Sortieren

Vorlesung 04

17.04.2019

Komplexität

fällt aus

22.04.2019

Ostermontag

Vorlesung 05

24.04.2019

Bäume – Datenstrukturen

Vorlesung 06

29.04.2019

Bäume – Traversierung, Suchen

fällt aus

01.05.2019

Tag der Arbeit

Vorlesung 07

06.05.2019

Bäume – Ausgeglichene Bäume

Hörsaalübung 01

08.05.2019

Listen und Komplexität

Vorlesung 08

13.05.2019

Bäume – B-Bäume, Digital-Bäume

Vorlesung 09

15.05.2019

Bäume – Heaps, HeapSort, Sets

Vorlesung 10

20.05.2019

Bäume – Räumliche Datenstrukturen

Hörsaalübung 02

22.05.2019

Bäume

Vorlesung 11

27.05.2019

Graphen – Datenstrukturen

Vorlesung 12

29.05.2019

Graphen – Traversierung, Suchen

Vorlesung 13

03.06.2019

Graphen – Suchen, Sortieren, Weg

Vorlesung 14

05.06.2019

Graphen – Spannbaum, Fluss

fällt aus

10.06.2019

Pfingstferien

fällt aus

12.06.2019

Pfingstferien

Vorlesung 15

17.06.2019

Graphen – Räumliche Graphen

Vorlesung 16

19.06.2019

Text – Suchen 1

Vorlesung 17

24.06.2019

Text – Suchen 2
Hashing

Hörsaalübung 03

26.06.2019

Graphen

Vorlesung 18

01.07.2019

Hashing

Vorlesung 19

03.07.2019

Verteilte Algorithmen – Konzepte

Vorlesung 20

08.07.2019

Verteilte Algorithmen – Java

Hörsaalübung 04

10.07.2019

Text, Hashing, Verteilte Algorithmen

Vorlesung 21

15.07.2019

Algorithmenentwurf 1

Vorlesung 22

17.07.2019

Algorithmenentwurf 2

Link zur Veranstaltung im Campus-System (Vorlesung)
Link zur Veranstaltung im Campus-System (Übung)
Link zur Veranstaltung in ILIAS

  • G. Saake; K. Sattler:
    Algorithmen und Datenstrukturen: Eine Einführung mit Java. 5. Auflage, dpunkt-Verlag, 2013.
  • T. Ottmann, P. Widmayer:
    Algorithmen und Datenstrukturen. 5. Auflage, Springer-Verlag, 2012.

Zum Erlernen und Nachschlagen von Java (kostenlose Version verfügbar):

  • Java ist auch eine Insel
  • Java-Programmierung - Das Handbuch