Introduction to algorithm

Thomas H.Cormen, Charles E. Leiserson, Ronald L. Rivest,Clifford Stein

Introduction to algorithm 1292 - 3rd edition - MIT press 2009