|
|
Beschreibung |
KursbeschreibungDer Kurs behandelt grundlegende Algorithmen und Datenstrukturen der Informatik. Im Kurs werden zunächst die Begriffe Algorithmus, Datenstruktur und Datentyp erklärt und es wird die grundsätzliche Vorgehensweise bei der Analyse von Algorithmen beschrieben. Nach einer Diskussion programmiersprachlicher Basiskonzepte zur Konstruktion von Datenstrukturen werden grundlegende Datentypen (Listen, Stacks, Queues, Bäume) und ihre Implementierungen behandelt. Ein zentraler Datentyp ist das Dictionary mit seinen Implementierungen (Hashing, Suchbäume, AVL-Bäume). Weitere Datentypen zur Darstellung von Mengen sind Priority Queues und Partitionen mit MERGE und FIND Operationen. Schließlich werden Sortieralgorithmen sowie die Grundkonzepte von Graphen behandelt.
Der zweite Teil des Kurses vermittelt Kenntnisse zu Graph-Algorithmen, geometrischen Algorithmen und Datenstrukturen, sowie zum externen Suchen und Sortieren. Zu den Graph-Algorithmen gehören etwa der Algorithmus von Dijkstra zur Bestimmung kürzester Wege, die Berechnung der transitiven Hülle eines Graphen oder eines minimalen Spannbaumes. Einen Schwerpunkt dieses Kurses bilden Algorithmen zur Behandlung geometrischer Probleme mittels Plane-Sweep und Divide-and Conquer Techniken. Schließlich werden B-Bäume und externe Sortierverfahren behandelt, die besonders für Datenbanksysteme von Bedeutung sind. Bei allen vorgestellten Algorithmen und Datenstrukturen steht stets die Analyse von Laufzeit und Platzbedarf im Vordergrund. |
|
|