Com base nas aulas 24, 25 e 26 da playlist de Estruturas de dados em Java do canal 2Guarinos no YouTube, este repositório tem os códigos que representam o Grafo apresentado no tutorial.
O Grafo apresentado nos códigos representa as relações numéricas e conexões do mapa a seguir:
Dessa forma, o Grafo é ponderado e direcionado, e para percorrer os elementos e imprimir quais os que pertecem ao Grafo, foi usado o algoritmo de busca em largura (BFS).
Os códigos foram distribuídos em 4 classes:
Main
: classe de execução, que instancia o grafo e cria as manipulações;Grafo
: classe do Grafo, que cria sua estrutura e suas funções, como a de busca em largura;Vertice
: classe que define as características dos vértices criados no Grafo;Aresta
: classe que define as características das arestas criadas no Grafo.
A execução da classe Main resulta na impressão dos elementos do Grafo nesta ordem:
Sofia
Maria
João
Cléber
Cláudia
É importante citar que este código é apenas um exemplo de implementação que não será executado corretamente se os códigos atuais forem modificados sem critério.
A busca feita não possui suporte à erros ou indifições que podem ocorrer em grafos mais complexos, é apenas uma base.