# Algorithmen und Datenstrukturen

**Sommer**


(engl. Algorithms and Data Structures )

<table bgcolor="#7FB3D9" border="1" id="bkmrk-%5Btitle%5D" style="width: 100%; border-collapse: collapse; border-width: 1px; border-style: none;"><colgroup><col style="width: 100%;"></col></colgroup><tbody><tr style="background-color: rgb(235, 243, 249);"><td>##### <span style="color: rgb(0, 104, 180);">**Modulnummer: FIN-INF-110361** </span>

</td></tr></tbody></table>

<table bgcolor="#7FB3D9" border="1" id="bkmrk-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 14.2515%;"></col><col style="width: 14.2515%;"></col><col style="width: 13.061%;"></col><col style="width: 15.442%;"></col><col style="width: 14.2515%;"></col><col style="width: 14.2515%;"></col><col style="width: 14.2515%;"></col></colgroup><tbody><tr><td class="align-center" style="border: 5px solid rgb(255, 255, 255);"><span style="color: rgb(61, 61, 61);">**Kürzel**</span>

<span style="color: rgb(61, 61, 61);">AuD </span>

</td><td class="align-center" style="border: 5px solid rgb(255, 255, 255);"><span style="color: rgb(61, 61, 61);">**CP**</span>

<span style="color: rgb(61, 61, 61);">10 </span>

</td><td class="align-center" style="border: 5px solid rgb(255, 255, 255);"><span style="color: rgb(61, 61, 61);">**Semester**</span>

<span style="color: rgb(61, 61, 61);">Sommer </span>

</td><td class="align-center" style="border: 5px solid rgb(255, 255, 255);"><span style="color: rgb(61, 61, 61);">**Fachsem.**</span>

<span style="color: #3d3d3d;">ab 2. </span>

</td><td class="align-center" style="border: 5px solid rgb(255, 255, 255);">**<span style="color: rgb(61, 61, 61);">Dauer</span>**

<span style="color: rgb(61, 61, 61);">1 Semester </span>

</td><td class="align-center" style="border: 5px solid rgb(255, 255, 255);"><span style="color: rgb(61, 61, 61);">**Sprache**</span>

<span style="color: rgb(61, 61, 61);">deutsch</span>

</td><td class="align-center" style="border: 5px solid rgb(255, 255, 255);"><span style="color: rgb(61, 61, 61);">**Niveau**</span>

<span style="color: rgb(61, 61, 61);">Bachelor </span>

</td></tr></tbody></table>

<table border="1" id="bkmrk-verantwortung%3A-verwe" style="border-collapse: collapse; width: 100%; height: 89.3907px; border-width: 1px; border-style: none;"><colgroup><col style="width: 20.2601%;"></col><col style="width: 79.7399%;"></col></colgroup><tbody><tr><td>**Link zum LSF:**</td><td>[ LSF](https://lsf.ovgu.de/qislsf/rds?state=wsearchv&search=1&subdir=veranstaltung&veranstaltung.semester=20261&veranstaltung.dtxt=Algorithmen+und+Datenstrukturen&P_start=0&P_anzahl=30&P.sort=veranstaltung.dtxt&_form=display "Algorithmen und Datenstrukturen")</td></tr><tr><td>**Zugang beschränkt:**</td><td></td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Verantwortung:**</td><td style="height: 29.7969px;">Christian Rössl </td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Dozent:in:**</td><td style="height: 29.7969px;">Christian Rössl </td></tr><tr><td>**Lehrveranstaltungen:**</td><td>In Deutsch / In German - Vorlesung *Algorithmen und Datenstrukturen*
- Übung *Algorithmen und Datenstrukturen*
- Tutorien *Algorithmen und Datenstrukturen*

In Englisch / In English - Lecture *Algorithms and Data Structures*
- Exercise *Algorithms and Data Structures*
- Tutorial *Algorithms and Data Structures*

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Verwendbarkeit:**</td><td style="height: 29.7969px;">- B.Sc. INF: Informatik I - Pflicht  
- B.Sc. INF: Kernmodule (SPO 2027)  
- B.Sc. CV: Informatik I - Pflicht  
- B.Sc. CV: Kernmodule (SPO 2027)  
- B.Sc. INGINF: Informatik I - Pflicht  
- B.Sc. INGINF: Kernmodule (SPO 2027)  
- B.Sc. WIF: Gestalten - Pflicht  
- B.Sc. WIF: Kernmodule (SPO 2027)  
- B.Sc. INF (bilingual): Informatik I - Pflicht  
- B.Sc. INF (bilingual): Kernmodule (SPO 2027)  
  
</td></tr></tbody></table>

**Angestrebte Lernergebnisse:** Die Studierenden

- kennen und verstehen die wichtigsten grundlegenden Datenstrukturen und Algorithmen auf diesen
- können diese anwenden und beurteilen, welche für eine bestimmte Anwendung (besser) geeignet sind
- verstehen vorgegebene und erstellen eigene Implementierungen

  
**Inhalt:**

- Listen
- Bäume
- Balancierte Suchbäume
- Heaps
- Hashverfahren
- Graphen
- Dynamische Programmierung
- Suche in Texten
- Entwurf und Analyse von Algorithmen

**Arbeitsaufwand:** 106h Präsenz + 194h selbstständige Arbeit

<table border="1" id="bkmrk-studien-%2Fpr%C3%BCfungslei" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 32.6591%;"></col><col style="width: 35.9941%;"></col><col style="width: 31.3468%;"></col></colgroup><tbody><tr><td>**Prüfungsvorleistungen:**</td><td>**Studien-/Prüfungsleistungen:**</td><td>**Lehrform / SWS:**</td></tr><tr><td style="vertical-align: top;">Um an der Klausur teilnehmen zu können, sind Prüfungsvorleistungen erforderlich. Details werden in der ersten Vorlesung bekannt gegeben.

</td><td class="align-left" style="vertical-align: top;">Klausur 120 Minuten

</td><td class="align-left" style="vertical-align: top;">- Vorlesung (4 SWS)
- Übung (2 SWS)
- Tutorium (1 SWS)

  
</td></tr></tbody></table>

<table border="1" id="bkmrk-voraussetzungen-nach" style="font-family: var(--font-body); font-size: 14px; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>**Voraussetzungen nach Prüfungsordnung:**</td><td>**Empfohlene Voraussetzungen:**</td></tr><tr><td class="align-left" style="vertical-align: top;">keine

</td><td class="align-left" style="vertical-align: top;">- Programmierkenntnisse in Java, insbesondere Objektorientierung und Abstrakte Datentypen
- Grundlegendes Verständnis von Algorithmen, insbesondere Verständnis von Rekursion
- Verständnis von asymptotischer Abschätzung des Aufwands von Algorithmen und deren formale Beschreibung (z.B. Groß-O-Notation)
- Verständnis grundlegender Beweistechniken (z.B. vollständige Induktion)

  
</td></tr></tbody></table>

<table border="1" id="bkmrk-medienformen%3A-litera" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>**Medienformen:**</td><td>**Literatur:**</td></tr><tr><td class="align-left" style="vertical-align: top;"></td><td class="align-left" style="vertical-align: top;">- Saake &amp; Sattler: Algorithmen und Datenstrukturen
- Goodrich, Tamassia &amp; Goldwasser: Data Structures and Algorithms in Java
- Sedgewick &amp; Wayne: Algorithms
- Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms

  
</td></tr></tbody></table>

**Hinweise:** Die Abgabe des **ersten Übungsblatts** erfolgt ggf. schon in der ersten Semesterwoche, d.h. die Aufgaben können vorher bearbeitet werden! Dazu ist eine rechtzeitige Anmeldung auf [https://aud.vc.cs.ovgu.de](https://aud.vc.cs.ovgu.de) erforderlich. Diese ist bereits vor Semesterbeginn möglich.