Este repositorio contiene los trabajos prácticos realizados en la materia Estructura de Datos de la Universidad Nacional de Quilmes (UNQ).
La materia tiene como objetivo que los estudiantes adquieran un entendimiento profundo de las estructuras de datos y su aplicación. Los principales contenidos y habilidades desarrolladas incluyen:
-
Recursión sobre Listas y Árboles:
- Desarrollo de programas recursivos para manipular listas y árboles.
-
Tipos Algebraicos:
- Uso de tipos algebraicos como maybe, either, enumerativos, listas, árboles binarios y árboles generales.
-
Estructuras:
- Implementación y uso de Stack, Queue, Map, heaps, BST Tree y contenedores basados en representaciones numéricas.
-
Representación e Invariantes de Representación:
- Comprensión de la representación de estructuras de datos y la utilidad de los invariantes de representación en su diseño e implementación.
-
Uso Imperativo de Estructuras de Datos:
- Aplicación de estructuras de datos en un estilo imperativo, incluyendo la iteración en listas y árboles.
-
Modelo de Memoria Imperativo:
- Gestión de memoria con stack/heap, alocación de memoria, uso de punteros y variables por referencia.
-
Listas Encadenadas y Árboles con Punteros:
- Implementación de LinkedList y sus variantes, así como árboles implementados con punteros.
-
Binary Heaps y Arrays:
- Implementación de binary heaps utilizando arrays.
-
Hashing y Análisis de Eficiencia:
- Implementación de técnicas de hashing y análisis de la eficiencia de estas implementaciones.
-
Algoritmos de Ordenamiento:
- Clasificación e implementación de diversos algoritmos de ordenamiento.
-
Algoritmos sobre Grafos:
- Nociones básicas de algoritmos aplicados a grafos.
Este repositorio refleja la aplicación práctica de estos conceptos y técnicas a través de los trabajos realizados durante el curso. El código está escrito en Haskell y C/C++, utilizando Visual Studio Code como entorno de desarrollo.
- Clases de Sawady:
- https://sites.google.com/view/estructuras-de-datos-unq/videos?authuser=0
- Para mi son mucho mejor que las clases que tiene grabada Fidel sobre C/C++ (No ví sus clases de Haskell)
- Clases de Fidel: