Número da Lista: 23
Conteúdo da Disciplina: Grafos 2
Matrícula | Aluno |
---|---|
20/0073249 | Pedro Vitor Augusto de Jesus |
Este projeto é uma aplicação gráfica que permite a criação e visualização de grafos e a execução do algoritmo de Bellman-Ford para encontrar o menor caminho entre dois nós. A interface é construída utilizando a biblioteca pygame
, proporcionando uma ferramenta interativa para adicionar nós e arestas, calcular o menor caminho entre nós e detectar ciclos negativos. Além disso, a aplicação oferece a capacidade de resetar o grafo e colorir as arestas que fazem parte do menor caminho.
O principal objetivo é fornecer uma ferramenta de aprendizado para visualizar o funcionamento do algoritmo de Bellman-Ford e o comportamento dos grafos.
- Adição de nós e arestas ao grafo.
- Cálculo do menor caminho entre dois nós utilizando o algoritmo de Bellman-Ford.
- Detecção de ciclos negativos e exibição de um pop-up informativo.
- Reset do grafo em caso de ciclo negativo ou quando o usuário desejar reiniciar.
- Visualização das arestas que compõem o menor caminho em azul.
- Python 3.x
- Pygame
- Instale o pygame:
pip install pygame
src/front/colors.py
: Define as cores usadas na interface.src/front/node.py
: Implementa a classeNode
para representar os nós do grafo.src/front/edge.py
: Implementa a classeEdge
para representar as arestas do grafo.src/back/main.py
: Implementa a classeGraph
com os métodos para construir o grafo, executar o algoritmo de Bellman-Ford e detectar ciclos negativos.
-
Execute o arquivo principal do projeto:
python main.py
-
Adicione nós clicando com o botão esquerdo do mouse na área de desenho.
-
Conecte os nós clicando com o botão direito do mouse em dois nós diferentes e inserindo o custo da aresta.
-
Pressione a tecla
ESPACO
para calcular o menor caminho entre o primeiro e o último nó criado. -
Caso um ciclo negativo seja detectado, um pop-up será exibido. Pressione
ENTER
ouESC
para reiniciar o grafo.