Programa de contenidos Algoritmos
Unidad 1 - Estructuras de datos y tipos abstractos de datos: Estructuras de datos.
Tipos abstractos de datos (TAD): Especificación lógica. Operaciones de inserción,
consulta, edición, borrado y copia. Niveles de abstracción. Clasificaciones.
Implementación y prueba de TAD. TAD integrados o disponibles en bibliotecas.
Unidad 2 - Diseño y análisis de algoritmos: Introducción al diseño de algoritmos.
Costo computacional. Análisis a priori y a posteriori. Tiempo de ejecución.
Notación asintótica. Recursividad. Tipos de recursividad. Análisis de costo para
algoritmos recursivos. Algoritmo recursivo versus iterativo. Problemas P y NP.
Unidad 3 - Estructuras de datos lineales: Arreglos, listas, listas con restricciones.
Representación posicional y enlazada. Análisis de implementaciones disponibles.
Tablas de dispersión. Colisiones. Tablas de dispersión abiertas y cerradas.
Funciones de dispersión. Blockchain: aplicaciones.
Unidad 4 - Algoritmos de búsqueda y ordenamiento: Algoritmos de búsqueda lineal
y dicotómica. Clasificaciones de algoritmos de ordenamiento. Algoritmos de
ordenamiento.
Unidad 5 - Árboles y algoritmos asociados: Estructuras de datos jerárquicas.
Árboles binarios. Recorridos en árboles binarios. Montículos binarios. Árbol binario
de búsqueda. Árbol AVL. Árboles generales: Árboles N-arios, árboles multicamino,
árboles B.
Unidad 6 - Grafos y algoritmos asociados: Definición formal de grafo.
Representaciones computacionales de grafos. Clasificaciones de grafos.
Algoritmos de grafos: búsqueda, recorrido, ordenamiento topológico, algoritmo de
Prim, algoritmo de Dijkstra, algoritmo de Warshall.