Gabriel Henrique Pereira Pestrini 828420
Samuel Viana de Souza 832088
O objetivo deste programa é representar um grafo utilizando uma matriz de adjacência e permitir a realização de operações como adicionar e remover vértices e arestas, obter informações sobre os vértices e arestas e mostrar o grafo em forma de matriz de adjacência.
Faça o download do programa ou utilize git clone. Fazer download de alguma ide que tenha as bibliotecas C++. Recomendamos o DevC++ rapido e facil de instalar. Este programa foi desenvolvido em C++ e não requer instalação adicional. Basta compilar o código e executá-lo.
Ao executar o programa, será exibido um menu com as seguintes opções:
-
Verificar se há uma aresta entre dois vértices: Esta opção permite verificar se há uma aresta (ou conexão) entre dois vértices do grafo. O usuário deve informar os identificadores dos dois vértices que deseja verificar e o programa retornará uma mensagem informando se há ou não uma aresta entre eles.
-
Listar todos os vizinhos de um vértice: Essa opção permite listar todos os vértices que são vizinhos de um determinado vértice no grafo. O usuário deve informar o identificador do vértice que deseja verificar e o programa retornará uma lista com todos os vértices vizinhos.
-
Adicionar um vértice: Essa opção permite adicionar um novo vértice ao grafo. O usuário deve informar um identificador único para o novo vértice e o programa o adicionará ao grafo.
-
Remover um vértice: Essa opção permite remover um vértice existente no grafo. O usuário deve informar o identificador do vértice que deseja remover e o programa o removerá do grafo, bem como todas as arestas que estiverem conectadas a ele.
-
Adicionar uma aresta: Essa opção permite adicionar uma nova aresta (ou conexão) entre dois vértices existentes no grafo. O usuário deve informar os identificadores dos dois vértices que deseja conectar e o programa adicionará uma nova aresta entre eles.
-
Remover uma aresta: Essa opção permite remover uma aresta existente no grafo. O usuário deve informar os identificadores dos dois vértices que estão conectados pela aresta que deseja remover e o programa removerá a aresta do grafo.
-
Obter o valor de um vértice: Essa opção permite obter o valor armazenado em um vértice específico no grafo. O usuário deve informar o identificador do vértice que deseja verificar e o programa retornará o valor armazenado nele.
-
Definir o valor de um vértice: Essa opção permite definir um novo valor para um vértice específico no grafo. O usuário deve informar o identificador do vértice que deseja atualizar e o novo valor que deseja armazenar nele.
-
Obter o valor de uma aresta: Essa opção permite obter o valor armazenado em uma aresta específica no grafo. O usuário deve informar os identificadores dos dois vértices que estão conectados pela aresta que deseja verificar e o programa retornará o valor armazenado na aresta.
-
Definir o valor de uma aresta: Essa opção permite definir um novo valor para uma aresta específica no grafo. O usuário deve informar os identificadores dos dois vértices que estão conectados pela aresta que deseja atualizar e o novo valor que deseja armazenar na aresta.
-
Mostrar Grafo: Essa opção permite mostrar a representação do grafo atual, exibindo todos os vértices e as arestas que os conectam.
-
Mostrar o Caminho: Essa opção retorna um vetor com os índices dos vértices do caminho entre a e b, se existir, ou um vetor vazio caso contrário.
-
Unificação de Grafos: Esta opção retorna um grafo resultante da união entre os grafos G1 e G2.
-
Intersecção de Grafos: Esta opção deve retornar um grafo resultante da intersecção entre os grafos G1 e G2. Em outras palavras, o grafo resultante deve conter apenas os vértices e arestas que estão presentes em ambos os grafos G1 e G2.
-
BFS (Busca em Largura): Esta opção o programa solicita o vértice de partida e o vértice de destino, executa o método BFS de busca em largura para percorrer o grafo a partir do vértice de partida (inicio) e destino (fim), em seguida, imprime o caminho.
-
Sair: Essa opção permite encerrar o programa. O usuário deve selecioná-la para sair do menu e finalizar a execução do programa.
Para escolher uma opção, digite o número correspondente e pressione Enter. Caso a opção escolhida exija informações adicionais, o programa solicitará que você as digite.
Aproveite o programa para gerenciar e visualizar grafos de forma eficiente!