Proyecto academico de EDA basado en una base de datos de actores/actrices y peliculas (dataset tipo IMDB - https://ftp.fu-berlin.de/pub/misc/movies/database/frozendata/) El repositorio esta organizado por laboratorios progresivos, cada uno con nuevas estructuras y algoritmos.
El enunciado completo de cada fase esta en:
Docs/EDA-LAB1.pdfDocs/EDA-LAB2.pdfDocs/EDA-LAB3.pdfDocs/EDA-LAB4.pdf
lab1/: carga de datos, busqueda, insercion/borrado y listado ordenado.lab2/: implementacion de listas doblemente enlazadas (ordenadas y desordenadas).lab3/: relaciones entre actores mediante recorridos en anchura (BFS).lab4/: grado medio de relacion y centralidad sobre el grafo de actores.examen/: ejercicios independientes.
Se trabaja con el grafo implicito:
- Nodo: actor/actriz.
- Arista: dos actores que han coincidido en una pelicula.
Ademas, cada actor mantiene su filmografia y cada pelicula su reparto.
HashMap: acceso promedioO(1)por clave para buscar actor/pelicula por nombre. Es clave cuando se procesan miles o millones de lineas.DoubleLinkedList(lab2): inserciones y borrados eficientes con referencia a nodo, recorrido en ambos sentidos y buen control de extremos. Es util cuando hay muchas operaciones de edicion sobre secuencias.Cola(FIFO): estructura natural para BFS en busqueda de caminos minimos no ponderados entre actores.Pila(LIFO): util para reconstruir/imprimir caminos desde destino a origen.Array: practico para ordenacion y para mantener un top-n fijo (por ejemplo, centralidad).
- Cargar y parsear ficheros grandes de actores/peliculas.
- Buscar actores/peliculas rapidamente.
- Insertar y eliminar informacion del catalogo.
- Ordenar y listar actores.
- Comprobar si dos actores estan relacionados.
- Calcular distancia minima entre actores.
- Estimar medidas globales del grafo (grado medio y centralidad).
lab1: base del sistema con enfasis en operaciones CRUD y eficiencia de acceso.lab2: implementacion manual de TAD lista doblemente enlazada y su analisis.lab3: paso de "catalogo" a "grafo de relaciones" con BFS.lab4: metricas de red y estimaciones para que el coste sea asumible en datasets grandes.