BELLMAN FORD

di il
2 risposte

BELLMAN FORD

Ragazzi qualcuno mi sa dire cosa sbaglio in questo codice? mi dice che c'è la presenza di cicli ma nel grafo che ho messo non ce ne sono
codice:
void inizializza_bellman(int n,int d[],int p[]){
int i;
for(i=0; i<n; i++){
d = MAX_I;
p = -1;
}
}


int bellman_ford(Graph g,int d[],int pred[],int s){
int i;
inizializza_bellman(g->nodes_count,d,pred);
d[s]=0; // impostare la sorgente a 0
List top;
for(i=0;i<g->nodes_count;i++){
top=g->adj;
while(top!=NULL){
if(d[top->target]>d+top->peso){
d[top->target]=d+top->peso;
pred[top->target]=i;
}
top=top->next;
}
}
for(i=0;i<g->nodes_count;i++){
top=g->adj;
while(top!=NULL){
if(d[top->target]>d+top->peso)
return 0;
top=top->next;
}
}
return 1;
}

2 Risposte

  • Re: BELLMAN FORD

    Ma ci sono i cilci...
    il ciclo while, il ciclo for
    boh che vuol dire ci sono cicli?
  • Re: BELLMAN FORD

    Intendeva i cicli nel grafo e non i cicli nel programma.

    @antox
    forse sarebbe meglio se pubblicassi anche i dati relativi al grafo
Devi accedere o registrarti per scrivere nel forum
2 risposte