Skip to content

Latest commit

 

History

History
93 lines (59 loc) · 2.37 KB

README.md

File metadata and controls

93 lines (59 loc) · 2.37 KB

🕸️ Implementación de Grafo con HashMap en Java

Java License Maven

🚀 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).


📖 ¿Qué es un Grafo?

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.


🗂️ Estructura de Datos - HashMap

  • 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<>();

🔍 Funcionalidad Clave

🔄 BFS – Búsqueda en Anchura

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.

🖼️ Visual del Grafo

graph

Fuente: Java Graph Tutorial


⚙️ Compilar y Ejecutar (Maven)

  1. Clona este repositorio:

    git clone <repo-url>
    cd Grafo/
  2. Compila y ejecuta los tests:

    mvn test
  3. 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.


📚 Recursos Adicionales

  • 📊 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.


👩‍💻 Autora

Marta Canino Romero – 2023
GitHub


📄 Licencia

Licensed under the Apache License 2.0 – Ver licencia