Technische Universität Ilmenau

Algorithms and Data Structures 2 - Modultafeln of TU Ilmenau

The module lists provide information on the degree programmes offered by the TU Ilmenau.

Please refer to the respective study and examination rules and regulations for the legally binding curricula (Annex Curriculum).

You can find all details on planned lectures and classes in the electronic university catalogue.

Information and guidance on the maintenance of module descriptions by the module officers are provided at Module maintenance.

Please send information on missing or incorrect module descriptions directly to modulkatalog@tu-ilmenau.de.

module properties Algorithms and Data Structures 2 in degree program Bachelor Wirtschaftsinformatik 2021
module number200064
examination number2200713
departmentDepartment of Computer Science and Automation
ID of group 2242 (Complexity Theory and Efficient Algorithms)
module leaderProf. Dr. Martin Dietzfelbinger
term winter term only
languageDeutsch
credit points5
on-campus program (h)67
self-study (h)83
obligationelective module
examwritten examination performance, 90 minutes
details of the certificate
alternative examination performance due to COVID-19 regulations incl. technical requirements
signup details for alternative examinations
maximum number of participants
previous knowledge and experience

Algorithmen und Datenstrukturen 1

Mathematik 1 und 2

learning outcome

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.

content

Divide-and-Conquer: Multiplikation ganzer Zahlen    Matrixmultiplikation, Master-Theorem.

Quickselect, Schnelle Fourier-Transformation.

Durchmustern von Graphen: Tiefensuche, Zusammenhangskomponenten, Entdecken von Kreisen, topologische Sortierung, starke Zusammenhangskomponenten.

Greedy-Strategie: Teilbares Rucksackproblem.

Schedulingprobleme, Huffman-Kodierung, Kürzeste Wege 1: Algorithmus von Dijkstra, Minimale Spannbäume (Algorithmus von Kruskal, Union-Find), Algorithmus von Jarnik-Prim, randomisierter Algorithmus für minimale Schnitte.

Dynamische Programmierung: Editierdistanz.

Ganzzahliges Rucksackproblem (mit/ohne Wiederholungen).

Kürzeste Wege 2: Algorithmus von Floyd-Warshall, Kürzeste Wege 3: Algorithmus von Bellman-Ford, das Problem des Handlungsreisenden.

media of instruction and technical requirements for education and examination in case of online participation

Folien, Folienprojektion, Folien auf der Webseite, Details im Tafelvortrag

literature / references
  • 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
  • S. Dasgupta, C. Papadimitriou, U. Vazirani, Algorithms, McGraw-Hill, 2007
  • T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 2nd ed., MIT Press, 2001 (auch auf deutsch bei Oldenbourg)
  • V. Heun, Grundlegende Algorithmen, 2. Auflage, Vieweg, 2003
  • J. Kleinberg, E. Tardos, Algorithm Design, Pearson Education, 2005
  • U. Schöning, Algorithmik, Spektrum Akademischer Verlag, 2001
evaluation of teaching