Como acaba de completar el primer año, tiene un buen momento para convertirse en un buen programador. Para comenzar, resuelva 50-100 problemas fáciles / medianos en SPOJ. Estas preguntas no se basan en un algoritmo particular. Le ayudarán a mejorar su capacidad de creación de lógica.
Luego, una vez que se sienta cómodo con las preguntas ad-hoc, puede aprender algunos algoritmos superiores, como algoritmos de gráficos, temas como Árbol indexado binario, Árbol de segmentos, matriz de sufijos, etc. La mejor manera de aprender estos temas son los tutoriales de Topcoder.
Busque preguntas específicas para un algoritmo en particular y resuélvalas. El clasificador de problemas de SPOJ, el juez en línea A2 y las etiquetas de problemas de codechef le ayudarán a buscar una pregunta basada en un algoritmo en particular.
- ¿Existe una mejor complejidad que O (n log n) para ordenar?
- He resuelto unos 52 problemas en SPOJ. ¿Debería mudarme a Codeforces ahora?
- ¿Es necesario un montón de páginas de CV para conseguir un trabajo?
- Cómo verificar si una cadena es un prefijo de otra cadena en O (1)
- ¿Por qué soy tan dinámico?
Paralelamente, puede practicar SRM en Topcoder, que es la mejor manera de mejorar las habilidades de programación.
Entonces puedes comenzar en la secuencia
1. Spoj (problemas ad hoc)
2. Aprende un Algo, resuelve problemas relacionados
3. Comience a participar en concursos en varios sitios en línea, como competencia de programación, concurso de programación, programación informática en línea,
Codeforces, topcoder.