To me the best book I've found (so far) for understanding data structures is Steven Skiena's The Algorithm Design Manual.
Aside from the first part covering algorithm analysis, algorithm & data structures the second part is absolutely invaluable in finding (or at least narrowing down) the proper data structure/algorithm for solving a problem.