Análisis y estudio de estructuras de datos y algoritmos en C/C++. Buscaremos estructuras eficientes y algoritmos adecuados para distintos problemas, construyendo tipos abstractos de datos (TADs) que nos permitan abstraernos de la construcción en el lenguaje para dedicarnos a resolver problemas complejos.

Construyendo sobre estructuras básicas como listas, colas y pilas pasaremos a estructuras de árboles, árboles binarios de búsqueda, AVLs, Hash y Grafos entre otros que nos permitan organizar la información y tener tiempos de acceso a la misma en forma eficiente.

Sobre estas estructuras implementaremos algoritmos y técnicas de programación con diferentes fortalezas y debilidades.