Fundamentals of Algorithms by Cormen et al is a good book for reference.There is another book "Data structures and algorithms design patterns' written by Waterloo professor,I think Bruno Weiss which is online .Algorithms in C/C++ by Sedgewick are also good.If you are working somewhere, then reading these books daily after the work becomes really exhausting.