Kommentar |
Studierende kennen grundlegende Algorithmen und Datenstrukturen und sind in der Lage, für ein gegebenes Problem das am besten geeignete Verfahren auszuwählen. Sie können einfache Algorithmen bzgl. ihrer Effizienz bewerten und vergleichen.
- Heaps und Queues
- Effiziente Sortierverfahren (z.B. Quicksort, Radixsort, Sortieren im Externspeicher)
- Suchverfahren: Hashing, binäre und balancierte Suchbäume, Fibonacci-Bäume
- Rekursive Algorithmen und Backtracking
- Pattern Matching mit Automaten
- Einfache Graphalgorithmen (z.B. kürzeste Wege mit Dijkstra, Depth/Breadth-First Search, spannende Bäume, transitive Hülle)
- Ausgewählte schwere algorithmische Probleme
Jedes Verfahren wird ausführlich vorgestellt und in seiner Komplexität analysiert. Die Korrektheit ausgewählter Beispiele wird bewiesen. |