design and analysis of computer algorithms - Aho, Alfred V (Addison Wesley, 1974)