Introduction to algorithms third edition (2009)

by T Cormen, C Leiserson, R Rivest, C Stein