Theory of Algorithms
Greedy and dynamic programming algorithms; Kruskals algorithm for minimum spanning trees; the folklore algorithm for the longest common subsequence of two strings; Dijstras algorithm and other algorithms for the shortest path problem; divide-and-conqueror and checkpoint algorithms; the Hirshbergs algorithm for aligning sequences in linear space; quick sorting; the Knuth-Morrison-Pratt algorithm; suffix trees; data structures: chained lists, reference lists, hash- ing; the Chomsky-hierarchy of grammars; parsing algorithms; connections to the automaton theory; Turing-machines; complexity and