A aplicação em questão é um trabalho da faculdade (UFRJ) para a disciplina de Computação Concorrente (MAB-117) - 2021/2 e que foi desenvolvida para ambiente Linux.
O objetivo do projeto é mostrar os benefícios da programação concorrente resolução do problema de encontrar todos os todos os caminhos mínimo para cada par de vértices de um grafo dirigido ponderado.
Utilizamos o algoritmo de Floyd-Warshall para realizar as comparações entre um algoritmo sequencial e um concorrente. Toda a aplicação foi desenvolvida em linguagem C utilizando a biblioteca Pthread.
Para mais detalhes sobre o projeto clique aqui.
Antes de começar, é necessário que tenha o compilador GCC instalado na sua máquina. Caso não tenha, o baixe utilizando o comando abaixo:
$ sudo apt install gcc
Clone o projeto na sua máquina:
$ git clone https://github.com/EllenSouza/caminho-minimo-grafo
Como C é uma linguagem complidada, primeiro compile os arquivos sequencial e concorrente.
# Sequencial
$ gcc -o fws fw-seq.c -Wall
# Concorrente
$ gcc -o fwc fw-conc.c -Wall -lpthread
Agora execute-os passando os parâmetros solicitados.
# Sequencial
$ ./fws entrada_saida/input.txt
# Concorrente
$ ./fwc entrada_saida/input.txt <números de threads>

