I personally also like to do problems on hackerrank, SPOJ, or Code Jam, but are probably overkill (especially Code Jam) as they're much harder than what you probably should expect in an interview. Still, I find that it helps my nerves when I solved harder questions because then the interview questions seem much simpler so it might help you too.
I actually just cruised through this course and found it super useful. Edit: By cruised I don't mean did it easily but instead just watched the videos, because I was cramming whenever I could fit time in.
https://www.coursera.org/course/algs4partI
It covers Binary Search Trees pretty well and some other things on the list. I also really like this teacher.
https://www.hackerrank.com/domains/algorithms/warmup/difficu...
For a refresher on algorithms and data structures, I also like the Harvard CS50 videos up on YouTube. They walk through sorting algorithms and cover the bases of various data structures.
You can choose your languages and it's all wrapped in a nice leveling-up game style. You pass and rank up based on your solutions to predefined community problems, and have a test-driven approach enforced in the editor.