Hola. Vengo a hacerle publicidad al libro que está escribiendo Antti Laaksonen, porque lo leí y me gustó mucho . Todavía está en borrador (aunque está prácticamente terminado, y le va haciendo retoques cosméticos regularmente), pero creo que vale la pena leerlo. Eso sí, está en inglés
Competitive Programmer’s Handbook (link al libro)
Parte 1: Técinas Básicas
- Introducción
- Complejidad Temporal
- Ordenamiento
- Estructuras de Datos
- Búsqueda Exhausitva
- Algoritmos Golosos
- Programación Dinámica
- Análisis Amortizado
- Consultas en Rangos
- Mainpulación de Bits
Parte 2: Algoritmos sobre Grafos
- Nociones Básicas de Grafos
- Recorrido de Grafos
- Camino Mínimo
- Algoritmos en Árboles
- Árboles Generadores
- Grafos Dirigidos
- Grafos Fuertemente Conexos
- Consultas en Árboles
- Caminos y Circuitos
- Flujos y Cortes
Parte 3: Temas Avanzados
- Teoría de Números
- Combinatoria
- Matrices
- Probabilidad
- Teoría de Juegos
- Algoritmos en Strings
- Algoritmos “Raíz Cuadrada”
- Segment Trees (otra vez)
- Geometría
- Técinas de Barrido (Sweep Line)