Algoritmos y Complejidad
Este curso está diseñado para estudiantes universitarios interesados en mejorar sus conocimientos y habilidades en el campo de los algoritmos y la complejidad. A lo largo del curso, los estudiantes aprenderán los fundamentos teóricos y prácticos de los algoritmos, así como a analizar y evaluar su complejidad. Se explorarán diferentes técnicas y estrategias para resolver problemas algorítmicos de manera eficiente. Al finalizar el curso, los estudiantes estarán preparados para aplicar estos conocimientos en el diseño y análisis de algoritmos en diversos contextos.
Objetivos de aprendizaje
- Comprender los conceptos básicos de los algoritmos y su importancia en la resolución de problemas.
- Conocer y aplicar diferentes técnicas y estrategias para el diseño de algoritmos eficientes.
- Aprender a analizar y evaluar la complejidad de los algoritmos utilizando notación Big O.
- Desarrollar habilidades para resolver problemas algorítmicos de manera eficiente y optimizada.
- Aplicar los conocimientos adquiridos en el diseño y análisis de algoritmos en diferentes situaciones y contextos.
Temas
1.
Definición y características de los algoritmos
2.
Importancia de los algoritmos en la resolución de problemas
3.
Ejemplos y aplicaciones de algoritmos en la vida cotidiana
1.
Estrategias de diseño de algoritmos
2.
Divide y vencerás
3.
Algoritmos voraces
1.
Notación Big O y su importancia en el análisis de la complejidad
2.
Complejidad temporal y espacial de los algoritmos
3.
Clases de complejidad y su relación con los problemas computacionales
1.
Divide y vencerás
2.
Programación dinámica
3.
Algoritmos de búsqueda y optimización
1.
Optimización de rutas en logística
2.
Clasificación de datos en machine learning
3.
Algoritmos de criptografía y seguridad