Curso completo de diseño de algoritmos avanzados. Cada módulo conecta teoría con aplicaciones reales, visualizaciones interactivas, código en C++/Python y quizzes estilo examen.
De un problema enunciado a una solución eficiente: modelado formal, análisis de complejidad, recurrences, divide & conquer, programación dinámica, greedy y búsqueda exhaustiva con podas.
Procesamiento eficiente de texto y secuencias: pattern matching lineal, palíndromos, hashing robusto, estructuras de sufijos y problemas clásicos como LCS y edit distance.
Algoritmos en grafos para rutas, redes y recursos: caminos mínimos, árboles de expansión mínima, flujo máximo, matching, TSP/Knapsack y el puente hacia problemas NP-completos.
Algoritmos geométricos con garantías: closest pair, intersección de segmentos, Voronoi–Delaunay, convex hulls, arreglos de hiperplanos y aplicaciones en CAD, GIS, visión por computadora y GPU.
Técnicas avanzadas de búsqueda en espacios enormes: bitmask & podas agresivas, Meet-in-the-Middle, A* e IDA*, algoritmos de mejora iterativa (hill climbing, annealing), GA, ACO y RL/Q-learning.
Llevar tus algoritmos al límite del hardware: modelos de memoria, algoritmos cache-aware, paralelismo en memoria compartida, vectorización SIMD, GPU computing, cómputo distribuido y casos reales.