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