Logo - Fakultät für Mathematik und Informatik Illustration
Rubriken

Modulbeschreibung

Teilmodul Datenstrukturen I Kurs 01661

Inhalt:
Der Kurs behandelt grundlegende Algorithmen und Datenstrukturen der Informatik. Algorithmen sind Methoden zum Lösen von Problemen. Ein Datentyp ist eine Menge von Objekten zusammen mit Operationen auf diesen Objekten; eine Datenstruktur ist eine Implementierung für einen Datentyp, wobei eine Repräsentation für die Objekte und Algorithmen für die Operationen festgelegt werden. 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. Unter verschiedenen Datentypen zur Darstellung von Mengen ist das Dictionary mit seinen Implementierungen (Hashing, Suchbäume, AVL-Bäume) der wichtigste. Anschließend werden Sortieralgorithmen sowie die Grundkonzepte von Graphen behandelt. Der Kurs schließt mit dem Algorithmus von Dijkstra zur Suche kürzester Wege in Graphen und dem B-Baum als wichtiger Datenstruktur für das externe Suchen. Bei allen vorgestellten Algorithmen und Datenstrukturen steht stets die Analyse von Laufzeit und Platzbedarf im Vordergrund.
Qualifikationsziele:
Nach erfolgreicher Teilnahme kennen die Studierenden die wichtigsten grundlegenden Datenstrukturen und Algorithmen der Informatik. Sie sind in der Lage, für die eigene Softwareentwicklung die jeweils geeignete Datenstruktur auszuwählen und sie ggf. anzupassen. Sie besitzen ein eingehendes Verständnis der Analyse von Algorithmen und können somit zwischen effizienten und ineffizienten Lösungen in der Programmierung unterscheiden.
Literatur:
  • R.H. Güting und S. Dieker, Datenstrukturen und Algorithmen. 3. Aufl., Teubner-Verlag Stuttgart, 2004.
  • T. Ottmann und P. Widmayer, Algorithmen und Datenstrukturen. 4. Aufl., Spektrum Akademischer Verlag, Heidelberg, 2002.
  • G. Saake und K.U. Sattler, Algorithmen und Datenstrukturen. Eine Einführung mit Java. 4. Aufl., dpunkt.verlag, Heidelberg, 2010.
Lehrform:
Kurs mit Übungen (2+1 SWS).
Arbeitsaufwand:Leistungspunkte:Stellenwert Note der Modulprüfung für die Endnote:
150 Stunden5
Art der Prüfung:
s. Gesamtmodul
Inhaltliche Voraussetzungen:
Grundkenntnisse der Programmierung (z.B. aus Kurs 01613), Grundkenntnisse der Programmiersprache Java (können auch noch parallel zum Kurs erworben werden, etwa anhand eines einführenden Buches zu Java).
Häufigkeit:Dauer:
in jedem Sommersemester1 Semester
Modulverantwortliche:Lehrende:
Ralf Hartmut GütingRalf Hartmut Güting
Aktualisiert: Webteam | 01.12.11 01:22