Inhalte
- Algorithmusbegriff, Laufzeit und Komplexität, Algorithmenanalyse, O-Notation
- Lineare Datenstrukturen: Sequentielle Listen, Feste Länge vs. dynamische Längenerweiterung, Suche (linear, binär), Sortierverfahrenen; verkettete Listen, Stack, Queue
- Algorithmenmuster: Rekursion, gierige Verfahren, Teile und Herrsche, Backtracking
- Nichtlineare Datenstrukturen: Allgemeine Bäume, Binärbäume, Suchbäume; Graphen, Algorithmen zur Wegebestimmung und -suche; Hash-Tabellen
Voraussetzungen: Einführung in die Programmierung
Lernziele
- Grundlegenden Datenstrukturen und ihre jeweiligen Vorzüge sowie geeigneter Algorithmen zur Suche, Sortierung, etc. kennenlernen
- Algorithmen anwenden, entwickeln und implementieren
- Komplexität von Algorithmen abschätzen und beurteilen