Вы находитесь на странице: 1из 1

Algoritmo Dijkstra

Eu estou tendo muita dificuldade para implementar o algoritmo de Dijkstra, um algoritmo que calcula o caminho mais curto para um determinado lugar... Ele calcula o peso das vertices que levaram para as arestas, assim calculando qual o caminho que mais compenssa. Exemplo, temos um mapa com 5 destinos, aonde eu estou eu sei, e tenho 4 destinos. Assim tenho que avaliar: Saindo do lugar aonde eu estou, at o lugar que quero chegar, qual compensa mais, qual mais curto... Estou tendo muita dificuldade nisso e por favor, espero ajuda. Por favor... Eu ja implementei o cdigo para adicionar ao grafo os valores, preciso do codigo de implementao de calcular os pesos das vertices para se obter o resultado mais curto... Estou em um trabalho da faculdade no qual preciso entregar dia 30. Estou correndo contra o tempo... Obrigado. Meu cdigo de listar e preencher: void listaGrafo(int grafo[][TAMANHO]){ for (int i=0; i< TAMANHO; i++){ for (int j=0; j< TAMANHO; j++){ cout << grafo[i][j] <<" "; } cout << endl; } } void preencheGrafo(int grafo[][TAMANHO]){ int peso = 0; for (int i = 0; i < TAMANHO; i++){ for (int j=0; j < TAMANHO; j++){ //cout << i << j << endl; if ((i != j) && (grafo[i][j] == -1) && (grafo[j][i] == -1)) { //cout << "valor para posicao [" << i <<"][" << j << "] : "; //scanf("%d", &peso); peso = (rand()%50)+1; grafo[i][j] = peso; grafo[j][i] = peso; //listaGrafo(grafo); } } //listaGrafo(grafo); } }

Вам также может понравиться