Para escribir cualquier algoritmo, creo que debería tener al menos una excelente comprensión de cómo funcionan exactamente los componentes básicos de los programas informáticos, como bucles y sentencias condicionales, recursiones, usos de memoria, estructuras de datos, etc. que son comunes a todos los lenguajes de programación y algoritmos. No está diseñado para un idioma específico.
Si bien la codificación siempre trata de escribir un código generalizado que debería funcionar para todas las entradas en un rango específico. Esto infiere una buena implementación lógica y, por lo tanto, buenos algoritmos, en la medida en que hay más algoritmos que la generalización, como la complejidad del espacio y el tiempo.
Si eres bueno en lo anterior, trata de aprender la mayor cantidad de algoritmos que puedas. Le dará una idea de cómo se escriben los algos y cómo se atienden los casos de esquina.
Yo mismo estoy tratando de aprender algoritmos y estructuras de datos y siguiendo un libro “Introducción a los algoritmos” de Cormen y otros. Lo que he sentido es que el libro te enseñará cómo dividir los problemas complejos en otros más pequeños y simples. También tiene toneladas de algoritmos que si aprendes podrían permitirte escribir los tuyos, aunque no es tan fácil.
- ¿Cuál es el mejor software de catering disponible?
- ¿Cuáles son las mejores cosas para descargar desde internet?
- ¿Por qué las películas de Quentin Tarantino tienen segmentos tan largos de pequeñas conversaciones?
- ¿Cuáles son los mejores trabajos para poder viajar constantemente y recibir el pago suficiente para hacerlo?
- ¿Quién es el mejor fotógrafo de bodas en Chennai?
Además, hay muchos cursos en línea sobre algoritmos de courseera, MIT OCW y muchos sobre YOUTUBE que se pueden usar para aprender algoritmos.
Esta respuesta no es tan sistemática, pero espero que pueda aclarar algunas de sus dudas.