ADA - Análisis y Diseño de Algoritmos
El curso Análisis y Diseño de Algoritmos estudia técnicas en el diseño de algoritmos como dividir y conquistar, programación dinámica, programación voraz/avara y reintento. A los algoritmos desarrollados mediante estas técnicas, se les aplican los dos tipos de análisis fundamentales en algoritmia: el de corrección y el de eficiencia. Adicionalmente, el curso aborda el estudio de algunas estructuras de datos jerárquicas. Finalmente, se estudian problemas intratables y las alternativas para su solución --por ejemplo, algoritmos aleatorizados o de aproximación--, al igual que la teoria de la NP-completitud en lo referente a realizar demostraciones por reducción entre problemas.