🚀 Este proyecto implementa un grafo eficiente con un HashMap
, permitiendo operaciones como añadir/borrar vértices y aristas, y hallar caminos con BFS (Breadth First Search).
Un grafo es una estructura compuesta por vértices (nodos) y aristas (conexiones).
Representa relaciones entre entidades, y es usado en informática, redes, IA, mapas, etc.
Ejemplo: redes sociales, rutas de navegación, circuitos.
- Cada vértice es una clave en un
HashMap
. - El valor asociado es una lista de vértices adyacentes.
- Permite acceso rápido a vecinos y eficiente manejo de operaciones.
Map<Vertex, List<Vertex>> graph = new HashMap<>();
Método: findPath(vertex1, vertex2)
- Encuentra el camino más corto entre dos vértices.
- Usa cola para explorar niveles progresivos del grafo.
- Ideal para grafos no ponderados.
Fuente: Java Graph Tutorial
-
Clona este repositorio:
git clone <repo-url> cd Grafo/
-
Compila y ejecuta los tests:
mvn test
-
Genera documentación Javadoc:
mvn javadoc:javadoc
📋 Los resultados de los tests se mostrarán en terminal.
📁 Documentación HTML disponible en /target/site/apidocs
.
- 📊 Diagrama UML →
graphDiagram.png
,graph.uml
- 📝 Análisis de complejidad → Comentarios en código
- 📂 Javadoc → Documentación completa del proyecto
Explora la arquitectura interna del grafo con visualizaciones y documentación.
Marta Canino Romero – 2023
GitHub
Licensed under the Apache License 2.0 – Ver licencia