I strongly recommend
- Algorithms in a nutshell from O'Reilly (http://www.amazon.com/Algorithms-Nutshell-In-OReilly/dp/0596...)
- Cracking the Coding interview (http://www.amazon.com/Cracking-Coding-Interview-Programming-...)
Those two books are perfectly concise and straight to the point to understand and learn exactly what you feel you are lacking as a self-taught programmer.
The first one will teach you what you have to know, putting everything into work context, making it really easy to understand why and how this or that algorithm is useful.
Cracking the coding interview then offers really good challenges to practice and master those algorithms. And of course, if you are interested in getting a job, will perfectly prepare you for that ;)
The book was written as a companion to Introduction to Algorithms by CLRS and is comparatively lighter on theory, but still a handy desk reference.
disclaimer: it was written by my undergraduate advisors
Get dozens of book recommendations delivered straight to your inbox every Thursday.