zur Kursübersicht
Theoretische Informatik 1 - Vorlesungsskript
Bachelor-Studium Informatik
Dominik Scheder, TU Chemnitz
Diese Vorlesung führt Sie ein in die Themen der Algorithmen, Datenstrukturen und asymptotischer Laufzeitanalyse.
Einführung
Suchen und Sortieren
Binäre Suche
Maximum finden in unimodalen Arrays
Naive Sortieralgorithmen
Mergesort
Heapsort
Quicksort
Quickselect
Deterministisches Auswählen: Median-of-Medians
Laufzeitabschätzung mit
O
und
Ω
Numerische Experimente und Grenzwerte
Formale Definition von
O
und
Ω
Einfügen, Suchen, Löschen: ein paar Datenstrukturen
Hintergrund: der Speicherplatz im Rechner
Beschränkter Zugriff: Stack und Queue
Binäre Suchbäume
Treaps: Zufällige Einfüge-Reihenfolge simulieren
B-Bäume
Rot-Schwarz-Bäume
Hashtabellen
Arithmetische Algorithmen
Einfache Operationen
Schnelle Matrix-Exponentiation
Multiplikation
Polynommultiplikation und die schnelle Fourier-Transformation
Graphen
Beispiele, Definitionen, Repräsentierung
Zusammenhang, Kreise finden, Tiefensuche, Breitensuche
Gerichtete Graphen
Topologisches Sortieren
Starke Zusammenhangskomponenten
Graphen mit Kantenkosten
Kürzeste Wege: Dijkstras Algorithmus
Kürzeste Wege mit positiven und negativen Kosten: der Bellman-Ford-Algorithmus
Minimale Spannbäume und Kruskals Algorithmus
Union-Find-Datenstrukturen
Union by Rank
Union by Rank with Path Compression
Netzwerkflüsse
Netzwerkflüsse: Beispiele und Definitionen
Die Ford-Fulkerson-Methode
Effiziente Algorithmen für Max Flow: Edmons-Karp und Dinic
Anwendungen von Netzwerkflüssen