Me acabo de unir a TopCoder porque quiero aprender las estructuras de datos y cómo codificarlas en C, pero no tengo idea de dónde comenzar en TopCoder ya que puedo ver 3 categorías en el sitio, pero no pude encontrar la forma correcta. ¿Qué debo hacer para comenzar?

Fase 1
Para comenzar, vaya a sitios web como HackerRank, codechef o HackerEarth para ese caso. Comience a practicar con su idioma preferido, personalmente tengo una inclinación por HackerRank porque tienen esta hermosa clasificación de problemas de práctica que no pude encontrar en otros sitios.
Una vez que tenga un registro de práctica de descenso, quiero decir que si ha intentado problemas con la mayoría de las clasificaciones en la sección de práctica, comience a participar en los concursos. Estos sitios web organizan concursos cada dos días, por ejemplo, en HackerRank puede comenzar con desafíos semanales, que cubren un amplio espectro de algoritmos semanalmente, uno a la vez. Cuanto más practiques, mejor.

Una vez que hayas terminado con esta fase

Fase 2
Le aconsejaré que cambie a codeforces.com, que estoy seguro de que podrá satisfacer su apetito de resolución de problemas con su amplio espectro de competiciones y sesiones de entrenamiento.

Fase 3
Mientras trabaja en estas cosas, intente y trabaje también en algunos proyectos de código abierto, lo que será de gran ayuda y le dará una idea de dónde y cómo puede aplicar las habilidades que adquirirá a través de estas parrillas. Github puede ayudarte con él, en github puedes buscar los proyectos que elijas, los proyectos que realmente están usando el lenguaje en el que tienes dominio, de esa manera podrás aprender cómo poner las cosas en un solo lugar y como colaborar.

Fase – 4 (después de esto, su vida estará marcada en dos fases, antes de usar el codificador superior y la era de la iluminación)
Después de todas estas fases, puedo aconsejarle con seguridad que salte al topcoder, topcoder no es el sitio para comenzar, sino un sitio para terminar. Después de eso créeme, tu búsqueda será en paz.

Como Sauranil Dey ha mencionado, podría cambiar a otro sitio.

Aparte de eso, quiero que sepas si estás realmente interesado y luego trabajar en proyectos.
Ahora no se preocupe, no tienen que ser geniales y todo, solo piense antes de hacerlo y documente su código.

Hacer más proyectos que solo practicar, será más gratificante.
Buena suerte.

Puedes comenzar con SPOJ o proyecto euler