Which is the best book on Data structures to refer to?
There are many good books on Data Structures, but I found these two books very useful:
Introduction to Algorithms and The Algorithm Design Manual, the second one though is more about algorithms.
The ancient Algorithms + Data Structures = Programs by Niklaus Wirth is recommended by some (see customer reviews on the Amazon page). Be warned - it uses Pascal examples and old terminology.
Seeing as you have a C and C++ tag, Algorithms in C++ by Robert Sedgewick is excellent. I personally started with Knuth's book which used to be the standard reference for a long time, but I'd say it is a bit dated at this stage.
Data Structures and Algorithms by Aho, Hopcroft, and Ullman. A classic text on the subject.
Data Structures and Algorithms with Object-Oriented Design Patterns in C++ by Bruno Preiss http://www.brpreiss.com
Like others have said, Introduction to Algorithms is amazing. It was the textbook for one of my college courses, and it's the one I've used the most outside of that class out of all my textbooks. What I like about it is it's all in very clear pseudo-code, so it's rather language agnostic.
The California State University at Sacramento chose Adam Drozdek's "Data Structures and Algorithms in Java", third edition (ISBN-13: 978-9814239233) for this semester's data structures course. I have found it to be helpful and insightful. Dr. Drozdek also maintains a C++ book with the same material: "Data Structures and Algorithms in C++".