Thats good, make sure you know their run times too. Worst case and best cases. I doubt they will ask you to implement complex data structure for the step internship but they definitely expect you to know what they are, either explaining it verbally or just using it. an example common question is return a unique array. So given [1,1,2,3,3,4,5] return [1,2,3,4,5]. My approach will be to use a HashMap or Dictionary depending on whether I'm using java or python. So they can ask you to implement it like HashMap<String, Integer> myHashmap = new Map<>() (etc...). You will not need to actually implement the HashMap class itself. However its good to know just in case. Yeah different search algorithms are a must, I doubt they will ask you questions past Binary Search Trees, but know how to implement Quick sort, bubble sort, linear search and bst at the minimum. The more you know the better.
One topic I recommend people studying is Dynamic programming, if you solve an interview question using DP, you will get HIGH ratings.