Theoretical Computer Science by Joke van Leeuwen, M. Hagiya & P.D. Mosses