Introduction to algorithms - Cormen, Thomas H. (The MIT Electrical Engineering and Computer Science Series, 1990)