Teoría:
Asegúrese de tener la madurez matemática para resolver problemas algorítmicos.
Comience con Matemáticas discretas por Kenneth Rosen http://web.karabuk.edu.tr/hakank….
Consulte también el curso de Matemáticas para la informática de MIT Courseware – Matemáticas para la informática
- ¿Cómo es que los diagramas de secuencia no se utilizan más en los libros de programación sobre frameworks como OSGi, Spring o .NET?
- ¿Qué libros debo leer para convertirme en desarrollador Java de extremo a extremo?
- ¿Cuál es su revisión del libro de Algoritmo de Grokking?
- ¿Qué es un buen libro para aprender la teoría de la lógica?
- ¿Qué libro para obtener una visión profunda de C ++?
También recomiendo hacer el Curso de Algoritmos de Coursera.
Una vez que se sienta cómodo con el material de estos recursos, puede usar libros como Introducción a algoritmos como referencia.
Implementación / Código:
Encontré que las estructuras de datos con C y C ++ 2nd Edition son bastante útiles para implementar estructuras y algoritmos de datos básicos en C.
También puede usar Rosetta Code para encontrar implementaciones de algoritmos comunes en todos los idiomas populares. Ejemplo: algoritmos de ordenación / clasificación rápida
También siga enlaces externos en artículos de Wikipedia para ver visualizaciones interactivas y ejemplos de código.