The design and analysis of computer algorithms - Aho, Alfred V. (Addison-Wesley series in computer science and information processing.)