Mi recomendación:
Entiende los Arrays, aprende algoritmos de búsqueda (implementa todos) Bubble, Quick Sort, etc
Entiende el bucket sort
Listas anidadas (no valen para nada, pero implementar una ayuda mucho con muchos conceptos).
Hash Tables, implementar una básica en cualquier lenguaje a base de arrays (necesitas aprender algoritmos de búsqueda)
Implementar Set a partir de arrays / listas, puedes implementarlos mejor si quieres con hash tables por ejemplo o con árboles si quieres.
Tipos de Árboles, implementar el básico (binario) y implementar sus dos búsquedas básicas (en anchura y en profundidad), luego buscar sus aplicaciones a Índices por ejemplo. Tienes muchos tipos de árboles, conoce un poco algunos y sus aplicaciones.
Implementar un índice usando ficheros para los datos, y un b-tree para el índice, guardar ambos en ficheros.
Entender e Implementar un A*, para resolver algún problema fácil
Luego ya, te puedes meter en cosas más avanzadas. Esto sería lo básico que te ayudará mucho.