Aprendí sobre algoritmos en un curso universitario hace años. Pero si vas a hacer algoritmos usando un libro, entonces necesitas uno bueno. Dos libros se destacan para mí como la forma de entrar en algoritmos:
- El manual de diseño de algoritmos de Steven S. Skiena
- Introducción a los algoritmos de T Cormen, C Leiserson, R Rivest y C Stein
El primero es quizás más un manual práctico, mientras que el último es más parecido a la Biblia, pero con pruebas.
La estrategia que podría seguir consistiría en leer, hacer los ejercicios teóricos y luego implementar todo lo que pueda, enfocándose en algoritmos / problemas que encuentre interesantes o desafiantes o ambos. Por lo tanto, intente cubrir todos los aspectos de los algoritmos, no solo implementarlos. Esto incluirá estudiar su complejidad de tiempo y espacio y probar su corrección. El estudio de algoritmos es más que solo implementar algoritmos.
Una vez que haya adquirido suficiente experiencia, comience a especializarse. Si te interesa la Geometría Computacional o los algoritmos sin bloqueo, por ejemplo, entonces comienza a explorar libros y trabajos de investigación en esta área.
La especialización es buena, pero también es bueno probar técnicas de otras áreas, por lo que leer ampliamente sobre algoritmos (e implementar dichos algoritmos) es una buena manera de mantener un amplio conjunto de habilidades.
EDITAR: Después de pasar por los algoritmos introductorios, puede consultar libros como Algoritmos aleatorios de Motwani y Raghavan o Algoritmos de aproximación de Vazirani . Estos libros son una encuesta (y hasta cierto punto, un buen ejercicio de aprendizaje en técnicas matemáticas) en técnicas de diseño de algoritmos más avanzadas. También amplían su conocimiento de muchos otros campos en CS como Gráficos y Redes, Diseño de Estructura de Datos y Optimización.