Lehre‎ > ‎

Algorithmen und Datenstrukturen

Ziel

Die Lehrveranstaltung soll fundamentale Kenntnisse auf dem Gebiet der Software-Entwicklung vermitteln. Hierzu zählt eine Einführung in die wichtigsten Algorithmen und Datenstrukturen, Graphen, Automaten und formale Sprachen. Es werden Kenntnisse in der Programmiersprache Java, wie sie in Grundlagenvorlesungen zum Programmieren vermittelt werden, vorausgesetzt.

Literatur

Saake, G. & Sattler, K-U.: Algorithmen und Datenstrukturen. 3. Aufl. Heidelberg: dpunkt Verlag.
Hinweis: Dieses Buch ist Pflichtlektüre für alle Teilnehmer!

Cormen, T.H., Leiserson, C., Rivest, R.L., Stein, C. (2007). Algorithmen – Eine Einführung. 2. Auflage. München: Oldenbourg Wissenschaftsverlag.
Hinweis: Ein sehr empfehlenswertes Buch. Es ist sehr umfangreich und gut verständlich geschrieben.

Knuth, D.E. (1997a): The art of computer programming. 3rd ed. Volume 1. Addison-Wesley.

Knuth, D.E. (1997b): The art of computer programming. 3rd ed. Volume 3. Addison-Wesley.
Anmerkung:
DIE Referenz des Meisters dieser Disziplin. Sehr umfangreich und nur dem mathematisch versierten Leser vorbehalten. Wer einen ersten Eindruck von dem Werk bekommen will, kann sich die Errata zu diesem Werk auf Knuths Homepage ansehen. Das Werk existiert bereits seit Beginn der 70er Jahre und wird laufend erweitert und überarbeitet. Ein zeitloses Werk und sehr heilsam für diejenigen, die glauben, Informatik sei keine Wissenschaft!

Ottmann, T., Widmayer, P. (2002): Algorithmen und Datenstrukturen. 4. Aufl. Spektrum.
Anmerkung: Ein recht umfassendes Buch. Es ist etwas gründlicher und daher auch komplexer als Sedgewicks Werke.

Sedgewick, R. (2003): Algorithmen in Java. Teil 1-4. 3. Auflage. Addison-Wesley.
Anmerkung:
Sedgewick ist ein ehemaliger Schüler von D. Knuth. Das Werk ist wesentlich leichter zu lesen, als (Knuth, 1997). Allerdings bietet es auch weniger tiefe Einblicke. Sedgewick setzt sich über die in Java üblichen Code Conventions hinweg.

Sedgewick, R. (1992): Algorithmen in C++. Addison-Wesley.
Vorsicht:
Die in dem C++-Werk benutzten Feldindices laufen von 1 bis n und nicht wie z.B. bei C++ und Java üblich von 0 bis (n-1)! Dies scheint ein Relikt der ersten Version des Werks zu sein. Diese Version benutzte Pascal als Beispiel-Sprache. Anmerkung: Die Code-Beispiele lassen sich mit geringem Aufwand auf Java übertragen.

Turau, V. (1996): Algorithmische Graphentheorie. Bonn; Paris; Reading, Mass.: Addison-Wesley.
Anmerkung:
Ein sehr empfehlenswertes Buch für denjenigen, der sich nicht in die theoretischen Tiefen der Graphentheorie hinab begeben will, sondern auf der Suche nach direkt anwendbaren Graph-Algorithmen ist. Die Code-Beispiele sind in einem Pascal-ähnlichen Pseudo-Code geschrieben.


Allgemeines

In Kooperation mit Prof. Dr. Rathke.

Zielgruppe: Wirtschaftinformatik (7-sem.) Bachelor
Modul: Software-Entwicklungsmethoden,
3. Semester
   Link zum Moodle-Kurs