The Self-Taught Computer Scientist
The Beginners guide to data structures & algorithms