Theoretical computer science : introduction to automata, compurability, complexity, algorithmics, randomization, communication, and cryptography - Hromkovic, Juraj, 1958- (Springer, 2004)