Nummer |
algd2
|
Leitung |
Wolfgang Weck, +41 56 202 78 36, d29sZmdhbmcud2Vja0BmaG53LmNo |
ECTS |
3.0 |
Anspruchsniveau |
intermediate |
Inhaltsübersicht |
Das Modul Algorithmen und Datenstrukturen 2 baut auf dem Modul Algorithmen und Datenstrukturen 1 auf. Studentinnen und Studenten erhalten einen vertieften Einblick ins Design und in die Implementierung von zentralen dynamischen Datenstrukturen. Aufbauend auf diesen Datenstrukturen werden typische Anwendungen und Algorithmen vorgestellt.
Inhaltsübersicht
- halbdynamische Datenstrukturen (ArrayList)
- Stack, Listen, Ringlisten, optional: Skip-Liste
- natürliche und ausgeglichene Binärbäume, Maps
- Heap und Prioritätswarteschlangen
- Hash-Verfahren und Hash-Funktionen
- Graphen und Graphenalgorithmen
|
Lernziele |
- Die Studentinnen und Studenten kennen die wesentlichen (halb-) dynamischen Datenstrukturen (ArrayList, Stack, Listen, Bäume, Prioritätswarteschlangen, Maps), die in der Software-Entwicklung eingesetzt werden und können diese selber in Java implementieren.
- Sie kennen wichtige exemplarische Algorithmen zum Suchen und Sortieren von Daten in dynamischen Datenstrukturen und können diese in Java selber implementieren.
- Sie verstehen das Prinzip des Hashings, kennen geläufige Hash-Verfahren und können eigene, sinnvolle Hash-Funktionen formulieren.
- Sie kennen die zentrale Datenstruktur Graph und sind in der Lage, effiziente Graphen und Graphenalgorithmen der Problemstellung angepasst zu implementieren.
|
Empfohlene Vorkenntnisse |
- Algorithmen und Datenstrukturen 1 (algd1)
- Objektorientierte Programmierung 2 (oop2)
|
Leistungsbewertung |
Erfahrungsnote und MPS schriftlich |