Introduction to algorithms - Cormen, Thomas H. (Prentice Hall of India, 1998)