CS502 - Fundamentals of Algorithms
   
Introduction to Algorithms by Thomas H.Cormen, Leiserson, Rivest, and Stein