Algortimo de Djikstra

26/06/2019

11

C C++

Pessoal, estou com um problema para resolver em linguagem C e não to conseguindo, se alguém puder ajudar agradeço muito!
Problema:
Uma empresa de aviação está passando por recuperação judicial. Hoje ela opera em 5 (cinco) destinos, mas por causa do processo de recuperação judicial vai diminuir esses destinos. O grafo ilustrado a seguir mostra a operação atual da empresa:
Vertice(0,1) = aresta = 100
vertice(0,2) = aresta = 800
vertice(1,3) = aresta = 400
vertice(1,4) = aresta = 0
vertice(2,1) = aresta = 600
vertice(2,3) = aresta = 800
vertice(4,3) = aresta = 500

Os vértices 0, 1, 2, 3 e 4 representam as cidades que a companhia opera hoje. O trajeto é representado pelas arestas que liga 0 a 1, 0 a 2, 1 a 3, 1 a 4, e assim por diante. O custo (peso) entre cada conexão está representado pelo valor das arestas, na sequencia: 0-1, 0-2, 1-3, 1-4, 2-1, 2-3, 4-3.
Utilizando o algoritmo de Dijkstra, desenvolva um programa em linguagem C que informe o caminho de menor custo saindo de 0 e chegando em 3. O resultado do seu programa deverá indicar os aeroportos que continuarão sendo operados pela companhia.
O algoritmo de Djikstra eu já tenho, mas não to conseguindo adaptar/modificar/acrescentar algo nele pra resolver esse problema:
segue o link do algoritmo de Djikstra:
https://www.onlinegdb.com/rJumT_MkS
Responder

Posts

06/07/2019

João Júnior

Pessoal, estou com um problema para resolver em linguagem C e não to conseguindo, se alguém puder ajudar agradeço muito!
Problema:
Uma empresa de aviação está passando por recuperação judicial. Hoje ela opera em 5 (cinco) destinos, mas por causa do processo de recuperação judicial vai diminuir esses destinos. O grafo ilustrado a seguir mostra a operação atual da empresa:
Vertice(0,1) = aresta = 100
vertice(0,2) = aresta = 800
vertice(1,3) = aresta = 400
vertice(1,4) = aresta = 0
vertice(2,1) = aresta = 600
vertice(2,3) = aresta = 800
vertice(4,3) = aresta = 500

Os vértices 0, 1, 2, 3 e 4 representam as cidades que a companhia opera hoje. O trajeto é representado pelas arestas que liga 0 a 1, 0 a 2, 1 a 3, 1 a 4, e assim por diante. O custo (peso) entre cada conexão está representado pelo valor das arestas, na sequencia: 0-1, 0-2, 1-3, 1-4, 2-1, 2-3, 4-3.
Utilizando o algoritmo de Dijkstra, desenvolva um programa em linguagem C que informe o caminho de menor custo saindo de 0 e chegando em 3. O resultado do seu programa deverá indicar os aeroportos que continuarão sendo operados pela companhia.
O algoritmo de Djikstra eu já tenho, mas não to conseguindo adaptar/modificar/acrescentar algo nele pra resolver esse problema:
segue o link do algoritmo de Djikstra:
https://www.onlinegdb.com/rJumT_MkS


Quem sabe dando uma pesquisada aqui: https://programacaodescomplicada.wordpress.com/2014/08/21/ed1-aula-65-grafos-busca-pelo-menor-caminho/
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar