Introduction to algorithms - Thomas H Cormen, Charles E Leiserson, Ronald L Rivest (Prentice-Hall OF india, New Delhi, 1998)