Creo que depende del tipo de algoritmos y del nivel de enseñanza del que estamos hablando. Definitivamente defiendo las tareas de programación cuando se introduce un concepto por primera vez, especialmente si es algo muy versátil como la programación dinámica. Sin embargo, una vez que comprenda cómo implementar algo, se vuelve mucho más importante poder detectar cuándo y cómo usar el algoritmo, lo que puede estar lejos de ser obvio.
Mi experiencia personal involucra algoritmos de flujo. Aprendí sobre el flujo hace unos 3 años y lo he estado usando para programación competitiva desde entonces. Sin embargo, me tomó un curso de posgrado puramente teórico para comprender completamente por qué y cómo funciona y mejorar para descubrir cuándo usarlos. El curso usualmente involucraba pruebas de complejidad o tener que explicar cómo aplicar un algoritmo de flujo en un problema dado, ¡definitivamente era una de mis clases favoritas!
- ¿Cuáles son los 30 algoritmos más importantes que debe conocer para la programación competitiva?
- ¿Existen campamentos de programación a tiempo completo en Europa para mejorar la programación o las estructuras de datos y habilidades de algoritmos?
- Cómo escribir un programa simple usando pseudocódigos
- ¿Puedo hacer un generador de algoritmos en C / C ++? Por generador de algoritmos me refiero a un programa que pide entrada y salida esperada y, sobre la base de eso, proporciona la lógica del programa.
- ¿Qué algoritmos debo saber para poder resolver la pregunta de Aprendizaje automático / Ciencia de datos de CodeSprint 5 en HackerRank?