### PO 2020 ### ### Studiengang und Semester 3BOMI:2020, 3BOWI:2024 ### Modulbezeichnung Algorithmen und Datenstrukturen~~ ### Englische Modulbezeichnung Algorithms and Data Structures ### Art Pflicht ### ECTS-Punkte 5 ### Studentische Arbeitsbelastung 31, 119 ### Voraussetzungen (laut Prüfungsordnung) Grundlagen der Mathematik, Grundlagen der Programmierung 1 ### Empfohlene Voraussetzungen Grundlagen der Mathematik, Grundlagen der Programmierung 1 ### Pruefungsform und -dauer Klausur (120 min.) oder ggf. mündliche Prüfung ### Lehrmethoden und Lernmethoden Multimedial aufbereitetes Online-Studienmodul zum Selbststudium mit zeitlich parallel laufender Online-Betreuung (E-Mail, Foren, Chat, Webkonferenzen, Einsendeaufgaben u. a.) sowie ggf. Präsenzphasen ### Modulverantwortlicher A. Wilkens ### Modulautor J. Weimar (Ostfalia) ### Qualifikationsziele Die Studierenden… - lernen Algorithmen und Datenstrukturen und die darauf angewendeten Techniken zur Verifikation und zur Analyse ihrer Komplexität kennen. - verstehen Such- und Sortieralgorithmen und Speicher- und Zugriffstechniken von bzw. auf Listen, Bäume und Hashtabellen. - verstehen Methoden zur Komplexitätsanalyse von Algorithmen. - können Algorithmen und Datenstrukturen in konkreten Anwendungssystemen zur Lösung einer gestellten Anforderung anwenden und beherrschen. - können Algorithmen verifizieren und bezüglich ihrer Zeit- und Platzkomplexität analysieren. - können Algorithmen und Datenstrukturen weiterentwickeln, um konkrete Probleme zu lösen. - können Algorithmen und Datenstrukturen bezüglich ihrer Zeit- und Platzkomplexität und weiterer Leistungskriterien bewerten und für ihre konkrete Anwendung auswählen. ### Lehrinhalte 1. Einleitung 1.1 Was ist ein Algorithmus 1.2 Darstellung von Algorithmen 2. Analyse von Algorithmen 2.1 Verifikation 2.2 Komplexität 2.3 Asymptotische Notation 2.4 Optimalität 3. Rekursion Arbeitsaufwand ca. 10 h 3.1 Lineare Rekursion 3.2 Divide and Conquer 4. Suchen und Sortieren 4.1 Problemspezifikation 4.2 Sequentielles Suchen 4.3 Binäres Suchen 4.4 Suchen und Optimalität 4.5 Bubble-Sort 4.6 Merge-Sort 4.7 Quick-Sort 4.8 Sortieren und Optimalität 4.9 Sortieren durch Abzählen 5. Dynamische Datenstrukturen 5.1 Abstrakte Datentypen 5.2 Verkettete Listen 5.3 Binäre Bäume 5.4 Binäre Heaps 5.4.1 Konstruktion und Erhalten eines Heaps 5.4.2 Heap-Sort 5.4.3 Prioritäts-Warteschlangen 6. Hashverfahren Datenstrukturen 6.1 Adresstabelle mit direktem Zugriff 6.2 Hashtabellen 6.3 Hashfunktionen 6.4 Offene Adressierung 6.5 Array Doubling ### Literatur Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.: Algorithmen - eine Einführung, 4. Auflage. Olden-bourg Verlag, München 2013. ISBN 978-3-486-74861-1 Baase, Sara; van Geldern, Allen: Computer Algorithms - Introduction to Design and Analysis, 3rd Edition. Addison Wesley Longman Inc., Mass. 2000. ISBN 0-201-612244-5 Schöning, Uwe: Algorithmik. Spektrum Akademischer Verlag, Heidelberg. 2001. ISBN 3-8274-1092-4 ### Titel der Lehrveranstaltung Algorithmen und Datenstrukturen ### Dozent A. Wilkens ### SWS 4