Home
General
Staff
Contact
Partners
Alumni
Research
Areas
Projects
Papers
Books
Reports
Awards
Teaching
Lectures
Exams
B.Theses
M.Theses
PhD Theses
Go Abroad
Misc
Talks
Library
Gallery
Links
Search
Webmaster
|
Algorithmen und Datenstrukturen (für Mechatronik, Elektronik und Informationstechnik und Maschinenbau)
339.640 |
Algorithmen und Datenstrukturen |
2VO |
Rabiser |
Mi 10:15-11:45 |
Raum: Zoom (siehe Moodle) |
Beginn: 10.3.2021 |
Übungen
Informationen zu den Übungen finden Sie hier
Ziele
Algorithmen sind das formale Grundgerüst für die Software-Entwicklung. Sie sind ein Bindeglied zwischen der Theoretischen Informatik und der eigentlichen Programmierung.
In dieser Lehrveranstaltung werden die wesentlichen Eigenschaften von Algorithmen untersucht und wichtige Klassen von Algorithmen in Bezug auf ihre praktische Anwendung vorgestellt.
Die Behandlung der Algorithmen erfolgt großteils in Pseudocode. Dies erlaubt die Betrachtung von Algorithmen losgelöst von einer konkreten Programmiersprache. Manche Lehrinhalte werden durch Vorführungen (Demo-Videos) veranschaulicht. Manche Algorithmen werden auch an der Tafel/am Whiteboard gemeinsam konstruiert.
Inhalt
- Der Algorithmusbegriff
Definition, Abgrenzung zwischen Algorithmen und Programmen, Darstellungsarten, Abstraktionsschichten und Bestandteile von Algorithmen
- Spezifikation
Zweck, Schnittstellenbeschreibung, Aufgabenbeschreibung, Darstellungsarten
- Schrittweise Verfeinerung
"Divide & Conquer", systematisches Lösen großer Probleme, Beispiel in Java
- Algorithmen mit Gedächtnis
Begriff, Implementierungsvarianten
- Komplexität
Begriff, Laufzeitanalyse, Laufzeitmessung, Asymptotische Komplexität, Minimale Komplexität von Problemen
- Dynamische Datenstrukturen
Klassen als Referenztypen, Lineare Listen, Unsortierte Listen, Sortierte Listen, Ringlisten, Doppelt verkettete Listen, Stacks, Queues, Mengen
- Rekursion
Begriff, Klassifizierung, Terminierung, Anwendungen, Umwandlung rekursiver Algorithmen in iterative und umgekehrt
- Bäume
Begriffe, Binäre Suchbäume, Balancierte Bäumeer Suchbäume, Topdown-234-Bäume, Rot-Schwarz-Bäume, B-Bäume
- Graphen
Begriffe, Depth-First-Search, Breadth-First-Search, Kleinster spannender Baum, Kürzester Pfad, Transitive Hülle, Serialisierung von Graphen
- Exhaustion
Das n-Damen-Problem, Schema zum Suchen einer Lösung, Exhaustionsvariante, Optimierungsvariante, Darstellung von Lösungsvektoren, Näherungsverfahren, Nichtdeterministische Algorithmen
- Sortieren
Auswahlverfahren, Einfügeverfahren, Shellsort, Quicksort, internes und externes Mischsortieren, Sortieren von Listen, Heapsort, Topologisches Sortieren, Komplexität von Sortierverfahren
Leistungsnachweis:
VO: Vorlesungsklausur am Ende des Semesters.
UE: Beurteilung ausgearbeiteter Übungsaufgaben.
Unterlagen
Die Vorlesung wird foliengestützt abgehalten. Die Folien und ergänzende Unterlagen werden zum Download im PDF-Format bereitgestellt.
Literatur
- Aho A.V., Hopcroft J.E., Ullman J.D.: Data Structures and Algorithms. Addison-Wesley 1983.
- Goodrich, M. T., Tamassia, R., and Goldwasser, M. H.: Data structures and algorithms in Java. John Wiley & Sons. 2014.
- Knuth D.E.: The Art of Computer Programming. Addison-Wesley 1973.
Band 1: Fundamental Algorithms.
Band 2: Seminumerical Algorithms.
Band 3: Sorting and Searching.
- Pomberger G., Dobler H.: Algorithmen und Datenstrukturen. Pearson 2008.
- Saake G., Sattler K.: Algorithmen und Datenstrukturen. dpunkt 2006.
- Sedgewick R.: Algorithmen in Java. Pearson 2014.
- Wirth N.: Algorithmen und Datenstrukturen. Teubner Studienbücher Informatik 1986.
Links
Visualisierung und Animation diverser Algorithmen: hier und hier.
|