One thing you always need to remember, is that data structures don't just exist. They were invented to fit a need, which therefore means they are good for some reasons, but not for others.
Find out what those reasons are, what the data structure is good for, try to figure out the Big O for the operations before you will be told them.
Always compare data structures. Even with the simplest of them - An array. Take that as a starting point, and compare every data structure you find to an array. Sometimes you`ll find little tricks which help you avoid using the big data structure altogether.
For me, what helped me understand a lot of data structures and algorithms was the applet here, and I hope it will help you too: Applet