Google Code Jam o cualquier otro concurso de programación competitivo no tiene un programa de estudios bien definido. Algunos temas son más populares y otros son menos. Pero depende completamente del creador del problema.
El enfoque no debe ser aprender estructuras de datos y algoritmos y luego resolver problemas de programación, sino todo lo contrario. Aborde los problemas, quédese atascado, piense x cantidad de tiempo, haga una lluvia de ideas, proponga diferentes soluciones (la mayoría de las cuales fallará ). Y luego, cuando termines, mira el editorial. Vea si se usa algún algoritmo nuevo, aprenda eso, implemente por su cuenta y resuelva ese problema y algo más sobre ese tema en particular. Los beneficios de esto son:
- Aprenderá a abordar el problema con una mente fresca (sin saber qué algoritmo funcionará y cuál no)
- Aprenderás paciencia (créeme, es una gran cualidad tener como programador y tener éxito. Porque en la vida real, a menudo fallarás en la mayoría de las cosas que harás, y tener esa paciencia para probar o más tiempo con un nuevo enfoque es esencial para el éxito)
- Una vez que aprenda el algoritmo de esta manera, es más probable que lo recuerde cuando lo necesite la próxima vez. (En comparación con la lectura de todos los algoritmos y luego tratar de resolver un problema)
Pero aún así, si necesita verificar qué tipo de algoritmos se solicitan más en concursos competitivos, aquí hay algunos excelentes artículos sobre eso. Ve a través de ellos.
- ¿Por qué mi código JavaScript muestra un error de bucle infinito en la línea 7? ¿Por qué no está eliminando los elementos de la matriz de entrada?
- Cómo entender cómo funcionan los algoritmos
- ¿Qué libro debo consultar para estructuras de datos en c ++?
- ¿Qué significa que el algoritmo TD (en el aprendizaje por refuerzo) hace predicción y no control?
- ¿Cuál es el algoritmo más optimizado para encontrar la suma de la diferencia absoluta de cada par distinto en una matriz entera?
Los 10 algoritmos y estructuras de datos más importantes para la programación competitiva – GeeksforGeeks
¡Una lista increíble para programación competitiva! – Codeforces ( Marque esto con seguridad)
¿Cómo prepararse para ACM – ICPC? – GeeksforGeeks (Esto tiene la mayoría de los temas enumerados para ACM ICPC y para cualquier otro concurso de programación competitiva popular que incluye Google Code Jam )
Espero que haya ayudado.