Technische Universität Ilmenau

Algorithms and Data Structures 1 - Interactive curriculae of TU Ilmenau

The interactive curriculae 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 course catalogue.

Please note that this page is no longer updated. All modules and study plans from PO version 2021 onwards (Bachelor and Master study programs) are now available on the Campus Portal.

module properties module number 100534 - common information
module number100534
departmentDepartment of Computer Science and Automation
ID of group2242 (Algorithms)
module leaderProf. Dr. Martin Dietzfelbinger
languageDeutsch
term Sommersemester
previous knowledge and experience

Algorithmen und Programmierung, Mathematik I.

learning outcome

Die Studierenden kennen beispielhaft Methoden für die Spezifikation von Berechnungsproblemen und von abstrakten Datentypen und können sie für die grundlegenden Aufgaben und Datentypen anwenden. Sie können unter Verwendung  der O-Notation die Laufzeit von (auch zusammengesetzten) iterativen und rekursiven Algorithmen analysieren. Sie können auf iterative und rekursive Algorithmen Induktionsargumente anwenden, um die Korrektheit zu zeigen. Die Studierenden kennen die grundlegenden Datenstrukturen „Array“, „Liste“, „Stack“, „Queue“, „gerichteter Baum“ und „Binärbaum“  mit ihren Implementierungsmöglichkeiten und können die zentralen Perfomanzparameter benennen und begründen. Sie kennen den Datentyp „binärer Suchbaum“ mit seinen Methoden für Einfügen und Suchen und den Datentyp „Mehrwegsuchbaum“. Die Studierenden kennen die Algorithmen für eine Variante von balancierten Binärbäumen und können sie an Beispielen durchführen. Die Studierenden kennen das Prinzip von einfachen Hashverfahren, verstehen die Funktionsweise und können das zu erwartende Verhalten für die verschiedenen Verfahren beschreiben. Sie kennen Konstruktionen einfacher randomisierter Hashklassen.  Die Studierenden kennen die grundlegenden Sortieralgorithmen (Quicksort, Heapsort, Mergesort sowie Radixsort), können die Korrektheit der Verfahren begründen und ihre Laufzeit berechnen.  Sie kennen den grundlegenden Datentyp  „Priority Queue“ und seine Implementierung auf der Basis von binären Heaps. Die Studierenden kennen die Grundbegriffe der Graphentheorie und können mit ihnen umgehen. Sie kennen die wesentlichen Datenstrukturen für die Darstellung von Graphen und Digraphen mit den zugehörigen Methoden und Performanzparametern, sowie einfache Graphdurchmusterungsverfahren (Breitensuche, Tiefensuche). Sie kennen einen Algorithmus für die Ermittlung eines minimalen Spannbaums. Sie können die Korrektheit dieses Verfahrens begründen.

content

Spezifikation von Berechnungsproblemen und von abstrakten Datentypen. Analyse von Algorithmen: Korrektheitsbeweise für iterative und rekursive Verfahren, Laufzeitbegriff, O-Notation, Laufzeitanalyse.  Grundlegende Datenstrukturen (Listen, Stacks, Queues, Bäume). Binäre Suchbäume, Mehrwegsuchbäume, balancierte Suchbäume  (AVL- und/oder Rot-Schwarz-B¨aume, B-Bäume). Einfache Hashverfahren, universelles Hashing. Sortierverfahren: Quicksort, Heapsort, Mergesort, Radixsort. Priority Queues mit der Implementierung als Binärheaps. Grundbegriffe der Graphentheorie (ungerichtete und gerichtete Graphen, Markierungen an Knoten und Kanten, Wege und Kreise, Bäume und Wälder, Zusammenhangskomponenten). Datenstrukturen für Graphen (Adjazenzmatrix, Kantenliste, Adjazenzlisten, Adjazenzarrays). Durchmustern von Graphen: Breitensuche, Tiefensuche, Zusammenhangskomponenten, Entdecken von Kreisen. Minimale Spannbäume. Begleitend: Methoden für die Analyse von Laufzeit und Korrektheit.

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

Projektion von Folien

literature / references

*  G. Saake, K.-U. Sattler, Algorithmen und Datenstrukturen, 4. Auflage, dpunkt, 2010.

* R. Sedgewick, Algorithmen in C++, Pearson Studium, 2001.

*  T. Ottmann, P. Widmayer, Algorithmen und Datenstrukturen, Spektrum Akademischer Verlag, 4., überarb. Aufl. 2002

* R. H. Güting, S. Dieker: Datenstrukturen und Algorithmen, Teubner, 2004

*  T. Cormen, C. Leiserson, R. Rivest, C. Stein, Introduction to Algorithms, Second Edition, MIT Press 2001. (Auch auf deutsch erhältlich.)

* M. T. Goodrich, R. Tamassia, Data Structures and Algorithms in Java, 2. Auflage, Wiley, 2003.

evaluation of teaching
Details reference subject
module nameAlgorithms and Data Structures 1
examination number2200370
credit points
SWS3
on-campus program (h)
self-study (h)
obligationobligatory module
examnone
details of the certificate
link to Moodle course https://moodle.tu-ilmenau.de/course/view.php?id=2848
teacher
signup details for alternative examinations
maximum number of participants
Details in degree program Bachelor Ingenieurinformatik 2013
module nameAlgorithmen und Datenstrukturen 1
examination number2200618
credit points3
on-campus program (h)34
self-study (h)56
obligationobligatory module
examoral examination performance, 25 minutes
details of the certificate
link to Moodle course https://moodle.tu-ilmenau.de/course/view.php?id=2848
signup details for alternative examinations
maximum number of participants
Details in degree program polyvalenter Bachelor Polyvalenter Bachelor mit Lehramtsoption für berufsbildende Schulen - Metalltechnik 2013 (IN), polyvalenter Bachelor Polyvalenter Bachelor mit Lehramtsoption für berufsbildende Schulen - Elektrotechnik 2013 (IN)
module nameAlgorithms and Data Structures 1
examination number2200370
credit points3
on-campus program (h)34
self-study (h)56
obligationobligatory module
examnone
details of the certificate
link to Moodle course https://moodle.tu-ilmenau.de/course/view.php?id=2848
signup details for alternative examinations
maximum number of participants