The Design and Analysis of Computer Algorithms - Aho, Alfred V. (2009)