Technische Universität Ilmenau

Algorithmen und Datenstrukturen 2 - Interaktive Studienpläne der TU Ilmenau

Die Interaktiven Studienpläne sind ein Informationsangebot zu den Studiengängen der TU Ilmenau.

Die rechtsverbindlichen Studienpläne entnehmen Sie bitte den jeweiligen Studien- und Prüfungsordnungen (Anlage Studienplan).

Alle Angaben zu geplanten Lehrveranstaltungen finden Sie im elektronischen Vorlesungsverzeichnis.

Bitte beachten Sie, dass auf dieser Seite keine Aktualisierungen mehr vorgenommen werden. Alle Module und Studienpläne ab der PO-Version 2021 (Bachelor- und Master-Studiengänge) sind ab sofort im Campus-Portal erreichbar.

Modulinformationen zu Algorithmen und Datenstrukturen 2 im Studiengang Bachelor Data Science 2025
Modulnummer200064
Prüfungsnummer2200713
FakultätFakultät für Informatik und Automatisierung
Fachgebietsnummer 2242 (Algorithmik)
Modulverantwortliche(r)Prof. Dr. Christoph Berkholz
TurnusWintersemester
SpracheDeutsch
Leistungspunkte5
Präsenzstudium (h)45
Selbststudium (h)105
VerpflichtungPflichtmodul
Abschlussschriftliche Prüfungsleistung, 90 Minuten
Details zum Abschluss
Link zum Moodle-Kurs https://moodle.tu-ilmenau.de/course/view.php?id=3557
Lehrende
Anmeldemodalitäten für alternative PL oder SL
max. Teilnehmerzahl
Vorkenntnisse

Algorithmen und Datenstrukturen 1

Mathematik 1 und 2

Lernergebnisse und erworbene Kompetenzen

Fachkompetenz: Die Studierenden kennen Entwurfsprinzipien für Algorithmen (Divide-and-Conquer, Greedy, Dynamische Programmierung) und die zugehörigen Analyseverfahren und können sie in einfachen Fällen zum Algorithmenentwurf einsetzen. Sie kennen spezielle Divide-and -Conquer-Algorithmen und können das "Master-Theorem" zur Analyse einsetzen. Sie kennen die Verfahren "Breitensuche" und "Tiefensuche", und können die Situationen identifizieren, in denen diese Verfahren benutzt werden müssen. Sie kennen weitere Anwendungen der Tiefensuche (Kantenklassifizierung, Kreisfreiheit, topologische Sortierung, starke Zusammenhangskomponenten) mit Korrektheits­beweisen. Die Studierenden kennen Algorithmen für die Berechnung kürzester Wege (Dijkstra, Bellman/Ford) mit ihren Anwendbarkeitsbereichen und den Korrektheitsbeweisen. Sie kennen die Datenstruktur "adressierbare Priority Queue" mit Implementierungs- und Anwendungsmöglichkeiten. Sie kennen weitere Algorithmen für die Berechnung eines minimalen Spannbaums (mit Korrektheitsbeweisen) und der dafür nötigen Union-Find-Datenstruktur. Sie kennen Algorithmen für das "All-pairs-Shortest-Paths"-Problem auf der Basis des Prinzips "Dynamische Programmierung", sowie weitere Beispiele für die Anwendung dieses Prinzips.

Methodenkompetenz: Die Studierenden kennen und verstehen fortgeschrittenere Korrektheitsbeweise und beherrschen wesentliche Techniken für solche Beweise. Sie überblicken die Zusammenhänge zwischen der Bereitstellung von (grundlegenden und fortgeschrittenen) Datenstrukturen und effizienten Algorithmen. Sie kennen Rechenzeitaussagen und ihre Herleitung. Auf dieser Basis können sie in verschiedenen Anwendungsfeldern die für kkonkrete Aufgaben geeigneten Algorithmen auswählen und diese Auswahl sachgerecht begründen. 

Sozialkompetenz: Die Studierenden haben die Erfahrung gemacht, dass zur Erreichung des Ziels der Vorlesung die Herstellung einer gemeinsamen konzentrierten Arbeitsatmosphäre wesentlich ist. Diskussionsbeiträge und Fragen werden von den Lehrenden und den Studierenden immer begrüßt. Die Studierenden können sich aktiv und interagierend an der Diskussion der Lösung der Übungsaufgaben in der Übung beteiligen. Sie erkennen, dass unterschiedliche Herangehensweisen zum Ziel führen können, im Rahmen der mathematischen Regeln und des Standes der Kunst.

Inhalt

Die Vorlesung gliedert sich entlang verschiedener Strategien des Algorithmenentwurfs.

I Divide-and-Conquer

  • Mergesort, Quicksort
  • Multipliktion ganzer Zahlen
  • schnelle Matrixmultiplikation
  • Polynommultiplikation und schnelle Fouriertransformation
  • Selektion in Linearzeit

II Dynamische Programmierung

  • Textsegmentierung
  • Longest Increasing Subsequence
  • Editierdistanz
  • Matrixkettenmultiplikation
  • Maximum Independent Set auf Bäumen
  • All-Pairs-Shortest Path, Algorithmus von Floyd-Warshall

III Greedy-Verfahren

  • Scheduling
  • Huffman Codes

IV Algorithmendesign für schwere Probleme

  • Exponentialzeitalgorithmen mit dynamischer Programmierung: TSP, ganzzahliges Rucksackproblem, 0/1-Rucksackproblem
  • Backtracking für Suchprobleme: Pre- und Inprocessing, 3-SAT
  • Backtracking für Optimierungsprobleme: Maximum Independent Set; Branch-and-Bound: Max-SAT, TSP
  • Parametriesierte Algorithmen: FPT-Algorithmen, Methode der beschränkten Suchbäume, Kernelisierung
  • Approximationsalgorithmen: Vertex Cover, TSP, Max-SAT, Max-Cut, Set-Cover, Subset-Sum (PTAS)
Medienformen und technische Anforderungen bei Lehr- und Abschlussleistungen in elektronischer Form

Folien, Skript, Tafelvortrag

Literatur

Das Standardwerk (für AuD1, AuD2 und darüber hinaus): T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3rd ed., MIT Press, 2009 (auch auf deutsch bei Oldenbourg)

Weitere Lehrbücher:

  • J. Erickson: Algorithms, online, 2019
  • T. Ottmann, P. Widmayer, Algorithmen und Datenstrukturen, Spektrum Akademischer Verlag, 2002
  • R. Sedgewick, Algorithms, Addison-Wesley, 2002 (auch C-, C++, Java-Versionen, auch auf deutsch bei Pearson)
  • R. Sedgewick, Algorithms, Part 5: Graph Algorithms, Addison-Wesley, 2003
  • K. Mehlhorn, P. Sanders, Algorithms and Data Structures - The Basic Toolbox, Springer, 2008
  • R. H. Güting, S. Dieker: Datenstrukturen und Algorithmen, B.G. Teubner Verlag, 2004
Lehrevaluation