Diseño y análisis de algoritmos#

Introducción#

En esta tercer parte estudiaremos algunos fundamentos algorítmicos. Platicaremos de qué es un problema algorítmico, qué es un algoritmo que lo resuelve y cómo evaluar estos algoritmos en correctitud y eficiencia. Después, introduciremos algunos conceptos de estructuras de datos y veremos varias formas de ordenar elementos.

Temario#

  • Problemas y algoritmos

  • Algoritmos incorrectos

  • Algoritmos correctos

  • Modelo RAM y pensamiento asintótico

  • Notación O grande y similares

  • Propiedades de la notación O grande

  • Ejemplos de análisis de eficiencia

  • El problema de ordenar

  • Ordenar cuadráticamente

  • Estructuras de datos vs tipos de datos abstractos

  • Diccionarios y árboles de búsqueda balanceados

  • Ordenar eficientemente

  • Aplicaciones de ordenar