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;
}