Los 5 libros principales sobre estructura de datos y algoritmos que me gustaría recomendar:
- Introducción a los algoritmos por Thomas H. Cormen – Este es uno de los mejores libros sobre algoritmos informáticos, está escrito por cuatro autores, uno de ellos es Thomas H. Cormen, cuyo otro libro Algoritmo desbloqueado es también el libro más recomendado para aprender algoritmos. Este libro es mucho más completo y cubre muchos algoritmos diferentes y técnicas avanzadas de resolución de problemas, por ejemplo, algoritmos codiciosos, programación dinámica, análisis amortizado, junto con estructuras de datos elementales como pilas y colas, matriz y lista vinculada, tablas Hash, árbol y Grafico.
- El Manual de diseño de algoritmos de Skiena : muchos problemas algorítmicos y debates, historias de guerra, problemas relacionados, ejercicios interesantes. Ayuda a modelar un problema de diferentes maneras. Un libro de trabajo imprescindible para todo programador apasionado. No lea esto a menos que tenga una buena comprensión de los algoritmos.
- Algorithms (4th Edition) por Robert Sedgewick, Kevin Wayne – Libro de nivel relativamente principiante, cubre gráficos, cadenas, hash, búsqueda, clasificación, etc. muy bien. Sigue el enfoque OOP en Java. Muy recomendable para principiantes, aunque nada detiene a un profesional. Portal web que contiene muchos ejercicios interesantes. Hay otros libros de Sedgewick sobre Algoritmos. Recomendado para el aprendizaje de estructura de datos.
- The Art of Computer Programming, 1st Edition por Donald E. Knuth – El arte de la programación de computadoras proporciona una descripción completa de una amplia variedad de algoritmos y el análisis. El primer libro comienza con preliminares matemáticos, pilas, colas, listas, matrices y árboles, y presenta implementaciones. El volumen 2 de la serie clásica de Donald Knuth, The Art of Computer Programming, abarca algoritmos seminuméricos. El tercer volumen es la encuesta más completa de las técnicas informáticas clásicas para clasificar y buscar.
- Algorithm Design (English) 1st Edition – Un libro excelente que tiene un buen flujo y se puede leer con la facilidad de leer una historia. Excelentes conexiones entre capítulos y todos los conceptos explicados de una manera simple y laica. He leído parte de CLRS pero me aburrí en el medio, pero tener este libro me ayudó mucho a comprender los conceptos de algoritmos.
NB: se recomienda leer CLRS después de leer este libro para profundizar en los conceptos.