Este curso mostrará los fundamentos de Algoritmos para el área de Ciencias de la Computación.
El curso ofrecerá las herramientas necesarias para comprender y aplicar técnicas de análisis de algoritmos, el cálculo asintótico y la determinación de la correctitud de algoritmos. Se desarrollarán contenidos sobre Algoritmos de Ordenación clásicos como HeapSort y QuickSort. Se presentarán las técnicas clásicas de diseño de algoritmos como Divide y Vencerás, Algoritmos voraces o greedy y Programación Dinámica. Se analizarán las estructuras de datos como pilas, colas, listas y tablas de dispersión. El contenido incluye el estudio y aplicación de grafos aplicados a diferentes tipos de problemas. Finalmente se presentarán los conceptos básicos necesarios para la comprensión de la teoria de NP-Completitud.
Se abordarán los temas tanto de forma teórica como práctica.
- Profesor: Cristian Cappo