Test de connexité sur une matrice d'adjacence d'un graphe
condor_02
Messages postés1Date d'inscriptionmercredi 12 septembre 2007StatutMembreDernière intervention11 octobre 2007
-
11 oct. 2007 à 18:49
The_Guardian
Messages postés317Date d'inscriptionvendredi 25 mai 2007StatutMembreDernière intervention19 octobre 2007
-
12 oct. 2007 à 15:08
Bonjour,
Est ce que je peux trouver un programme en C qui teste la connexité d'un graphe à partir de sa matrice d'adjacence.
Je suis un peu pressé par le temps et ce test fait partie d'un programme que je suis en train d'élaborer.
Merci
The_Guardian
Messages postés317Date d'inscriptionvendredi 25 mai 2007StatutMembreDernière intervention19 octobre 20071 12 oct. 2007 à 15:08
Bonjour,
Je ne peux pas te donner un programme tout fait, je préfère te montrer comment on pêche et en plus c'est vendredi c'est la journée du poisson :p
Donc pour tester la (forte) connexité de ton graphe avec ta matrice, tu pars d'une matrice NxN disons, avec des 0 quand il n'y a pas d'arête et 1 quand il y en a.
(1) tu construis un vecteur de N éléments qui valent tous 0
(2) tu prends un noeud arbitrairement, par exemple le noeud d'indice 0
_ et tu mets 1 dans la case v[0]
(3) tu mets aussi le numéro du noeud, donc 0, dans une pile p
(4) tantque la pile est pas vide faire
n <-- depiler p
v[n] = 1
pour i de 0 a N faire
si M[n,i]==1 alors
si v[i]==0 alors
empiler i dans p
v[i] = 1
finsi
finsi
finpour
5) tu parcours ton vecteur v, si y'a un seul noeud qui est à 0, ton graphe est pas connexe
sinon il l'est