Introduction to Algorithms, 2 nd edition (2001)

by T H Cormen, C E Leiserson, R L Rivest