Introduction to Algorithms, Third Edition, By Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, MIT Press
The Algorithm Design Manual by Steven S Skiena
Algorithm Design by Kleinberg and Tardos
Algorithms by Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani