Design and analysis of computer algorithms - Aho, Alfred V. (Pearson Education Inc., 2003)