Inhalt: | Es werden die folgenden Themen behandelt:
Vorgehensweise bei der Entwicklung und Implementierung von Algorithmen
Komplexität und Effizienz von Algorithmen, O-Notation
Listen (Stack, Queue, doppelt verkettete Listen)
Sortierverfahren (Selection-, Insertion-, Bubble-, Merge-, Quick-Sort)
Bäume (Binär-, AVL-, 2-3-4-, Rot-Schwarz-, B-Bäume, Suchbäume, Traversierung, Heap)
Graphen (Datenstrukturen,DFS, BFS, topologische Traversierung,Dijkstra-, A*-, Bellman-Ford-Algorithmen, minimale Spannbäume, maximaler Fluss)
Graphenbasierte Matching-Algorithmen (z.B. Ungarischer Algorithmus)
Textalgorithmen (String-Matching, Knuth-Morris-Pratt, Boyer-Moore, reguläre Ausdrücke, Levenshtein-Distanz)
Hashing (Hashfunktionen, Kollisionen)
Verteilte Algorithmen (Petri-Netze, Programmieren nebenläufiger Abläufe, einige parallele und parallelisierte Algorithmen)
Algorithmenentwurf und -muster (inkrementell, greedy, divide-and-conquer, dynamische Programmierung, Backtracking, randomisierte Algorithmen) |