confus dans ce semgent code donc ce sont deux fonctions que je suppose buggyComputing composants fortement connectés en utilisant un langage de programmation c
void dfsloop1(int **g)
{
int i;
int temp=0;
for(i=0;i<875714;i++)
{
temp = f[i];
x[temp-1] = i;
}
for(i=875714;i>0;i--)
{
if(!explored[x[i-1]])
{
s = i-1;
dfs1(g,x[i-1]);
}
}
}
void dfs1(int **g,int i)
{
explored[i] = 1;
leader[i] = s;
int j;
for(j=0;j<a[i];j++)
{
if(!explored[(g[i][j]-1)])
{
dfs1(g,g[i][j]);
}
}
}
tableau exploré ici est tenue de compte du noeud/vertex est cochée ou non si elle est cochée, alors ith vertex est cochée then explored[i-1] = 1 else explored[i-1] = 0,a[i]
stocke le nombre de sommets i+1
par exemple par exemple le sommet n ° 1 est connecté à 2,4,5 puis a[0]
sera 3, le graphique est passé dans la liste d'adjacence et J'ai déjà exécuté dfs sur le graphique inverse et enregistré cette numérotation magique dans f [i] en utilisant l'algorithme de kosaraju, maintenant je suis en train d'exécuter dfs sur mon graphique original g dans x [i] je stocke f [i] dans l'ordre croissant par exemple disons sur le 9 graphique de sommet f[0] = 7,f[1] = 3,f[2] = 1,f[4] = 2,f[5] = 5,f[6] = 9,f[7]=4,f[8] = 6 then x[0] = 2
(qui est l'indice du plus petit f[i]),x[1] = 4,x[2] = 1
etc.
Si j'ai laissé quelque chose ou quelque chose n'est pas clair s'il vous plaît faites le moi savoir. Merci
nombre total de sommets sont 875714
je suis nouveau sur stackoverflow donc si je l'ai fait quelque chose de mal me faire savoir
Merci
Veuillez fournir un [mcve]. Voir aussi: [demander]. –
Quelle est votre question? C'est généralement une bonne idée de vérifier la distance avant d'utiliser une variable comme index de tableau. – imqqmi
J'utilise l'algorithme de kosaraju https://drive.google.com/open?id=0B-iTBQCLcXUabHMxRmRGNmNzY1U est un exemple – help