Beschreibung: |
Die Veranstaltung stellt das Konzept der Abstrakten Datentypen vor, führt die wichtigsten Beispiele von Abstrakten Datentypen ein, und zeigt deren Anwendung/Handhabung im Rahmen der Behandlung von wichtigen grundlegenden Algorithmen. Inhalte im Einzelnen: - Algorithmenbegriff (Syntax, Semantik, Spezifikation) - Algorithmenentwicklung (schrittweise Verfeinerung) - Algorithmentheorie (Berechenbarkeit, Komplexität, Korrektheit) - Wichtige Algorithmen (Suchen, Sortieren) - Konzept der Abstrakten Datentypen (Spezifikation, Implementierung) - Bedeutung von Vor- und Nachbedingungen - Wichtige Abstrakte Datentypen (verkettete Listen, Keller, Schlangen, Mengen, Binärbäume, ausgewogene Bäume, B-Bäume, Hash-Tabellen, Graphen) - Wichtige Klassen von Algorithmen (Divide-and-Conquer-Algorithmen, Such- und Sortieralgorithmen, Graphalgorithmen, Greedy-Algorithmen, Optimierungsalgorithmen) |
Literatur: |
- Robert Sedgewick: Algorithms, Addison Wesley, 1998 - Les Goldschlager, Andrew Lister: Computer Science - A Modern Introduction - Second Edition, Prentice Hall, 1987 - Bertrand Meyer: Object-Oriented Software Construction, Prentice Hall, 1997 - sowie andere Literatur zu diesem Thema gemäß Mitteilung in der Veranstaltung |