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

Introducrion to Algorithms