Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Implementação básica do algoritmo de Djikstra.
void DIGRAPHsptD1(Digraph G, Vertex s, Vertex parnt[], double cst[]){
Vertex w, w0, fr[maxV];
for (w = 0; w < G->V; w++) {
parnt[w] = -1;
cst[w] = maxCST;
}
fr = s;
cst = 0.0;
while (1) {
double mincst = maxCST;
for (w = 0; w < G->V; w++) {
if (parnt[w] == -1 && mincst > cst[w])
mincst = cst[w0=w];
if (mincst == maxCST) break;
parnt[w0] = fr[w0];
for (w = 0; w < G->V; w++)
if (cst[w] > cst[w0] + G->adj[w0][w]) {
cst[w] = cst[w0] + G->adj[w0][w];
fr[w] = w0;
}
}
}
Galera, to precisando urgente de uma ajuda, keria saber oa esta havendo nesse código, é um lance de nós com ponteiro. Por favor algume me da um help, é urgente :(
Carregando comentários...