Puedo guiarte hacia el aprendizaje de algoritmos para la programación competitiva:
0. Antes de saltar a los algoritmos, aprenda los conceptos básicos de las estructuras de datos.
1. Para aclarar los conceptos básicos de los algoritmos El Manual de diseño de algoritmos puede ser de gran ayuda.
- Cómo garantizar un resultado devuelto de la función que llamamos (en sí mismo) es correcto en la recursividad
- ¿Puedes darme una idea para un juego simple que implemente el algoritmo (como el algoritmo A *) o la inteligencia artificial para NPC en el juego?
- ¿Cuál es la diferencia entre programación dinámica y programación lineal?
- ¿Cómo mejoro mis habilidades informáticas? ¿Alguien puede recomendarme formas de acortar la curva de aprendizaje?
- Cómo probar la corrección del problema de cambio de moneda usando DP y poda
2. El texto en el libro anterior también se acompaña de conferencias en video del autor del libro. Conferencias de audio de Skiena
3. Practicar lo que has aprendido practicar en HackerRank. Hay muchos otros sitios, pero en este sitio puedes practicar lo que has aprendido en cuanto al tema. Vaya a la sección de algoritmos del sitio en DOMINIOS.
3. A continuación, puede usar Desafíos de programación, un libro del mismo autor para resolver algunos buenos problemas. Use PDF disponible en internet.
4. Practique en sitios, participe en desafíos en varios sitios.
5. Y recuerda una última cosa: la programación algorítmica es un vasto océano y no serás experto en él de la noche a la mañana.
Y el Sr. Ravindra Babu Ravula enseña bien la teoría de los autómatas. Conferencias disponibles en el siguiente enlace.