Introduction to algorithms

A classic and must read book for any serious programmer. Also known as CLRS.