====== Algorithmen und Datenstrukturen (WS 2019/2020) ====== | Veranstalter | [[staff:kriege|Dr. Nils Kriege]] | | Modul | [[http://www.cs.tu-dortmund.de/nps/de/Studium/Ordnungen_Handbuecher_Beschluesse/Modulhandbuecher/Master_Inf/Basismodule/Forschungsbereich_Algorithmen_und_Komplexitaet/INF-MSc-241.pdf|Modulhandbuch INF-MSc-241]] (Master Informatik / Angewandte Informatik) | | Schwerpunktgebiet | 4, 6, 7 (Diplom Informatik / Angewandte Informatik)| | SWS | 4 | | Veranstaltungsnummer: | [[https://www.lsf.tu-dortmund.de/qisserver/rds?state=verpublish&status=init&vmfile=no&publishid=213454&moduleCall=webInfo&publishConfFile=webInfo&publishSubDir=veranstaltung| 041237]] | | Moodle | [[https://moodle.tu-dortmund.de/course/view.php?id=16787|lsf-AUD-19_2]] | === Organisation === * Vorlesungzeiten: Dienstag 12:15-13:45 Uhr, SRG1 SR1.001 und Donnerstag 14:15-15:45 Uhr, OH 12 E.003 * Beginn der Vorlesungen: Dienstag 8.10.2019 * Informationen zu den Übungen: [[teaching:aud-uebung-ws2019|Übung zu Algorithmen und Datenstrukturen (WS 2019/2020)]] /* === Materialien === Alle Materialien sind im **[[https://moodle.tu-dortmund.de/course/view.php?id=4552|Moodle]]** zu finden. Für diesen Bereich ist eine separate Anmeldung und Freischaltung notwendig. */ === Inhalte === Diese Vorlesung mit der begleitenden Übung gibt einerseits die Grundlagen für die meisten weiterführenden Spezialvorlesungen im Bereich algorithmische und formale Grundlagen, zum anderen behandelt sie weiterführende und komplexere Algorithmen und Datenstrukturen. Sie kann als Weiterführung von DAP2, mit fast leerer Überschneidung zu Effiziente Algorithmen gesehen werden. Im Einzelnen werden die folgenden Themen behandelt: * Komplexe Datenstrukturen und deren Analyse, wie z.B. Fibonacci-Heaps * Strings, z.B. Suffix Trees, Suffix Arrays, Pattern Matching * Lineare Programmierung: Modellierung, Dualität, Simplexalgorithmus * Ganzzahlige Lineare Programmierung: z.B. Gomory * Kombinatorische Optimierung, z.B. primal-duale Algorithmen, Branch-and-Cut * Approximationsalgorithmen, z.B. Set Cover * Graphenalgorithmen: z.B. Flussalgorithmen, Minimaler Schnitt, bipartites Matching * Geometrische Algorithmen: z.B. konvexe Hülle * Analysemethoden, wie z.B. amortisierte Analyse