Determination des rangs de sommets dans un graphe oriente

armelk1999 Messages postés 24 Date d'inscription mardi 17 juillet 2018 Statut Membre Dernière intervention 14 avril 2019 - 7 nov. 2018 à 20:45
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 8 nov. 2018 à 07:54
Bonjour, est-il possible de transformer ce code en java


Pour tout point i faire
Aucun point n'est marqué
M(i)=0 ;
Calcul du nombre de prédécesseurs de tout point
ndp=0 ;
Pour tout point j faire
si B(j,i)>0 alors ndp++ finsi
Fin pour j
NBPréd(i)=ndp ;
Fin pour i
Nombre de points marqués initialisés à 0
NBPM=0 ;
Valeur courante de la fonction rang
rang=-1 ;
L'algorithme est arrêté si on s'aperçoit que le graphe contient un circuit,
car dans ce cas il est impossible de calculer la fonction rang pour tous les points
circuit = faux ;
Itérations
Tantque NBPM<n et circuit = fauxfaire
une_modif=faux ;
rang=rang+1 ;
Pour tout i faire
si M(i) = 0 et NBPréd(i) = 0 alors
M(i)=1 ; NBPM=NBPM+1 ;
R(i)=rang ;
une_modif=vrai ;
finsi
Fin pour i
si une_modif = faux alors
Le graphe contient un circuit
circuit = vrai ;
sinon
On n'a pas encore détecté que le graphe contient un circuit.
si NBPM<n alors
Il reste des points non marqués.
Les points marqués sont devenus plus nombreux.
Il faut changer le tableau du nombre de prédécesseurs non marqués.
Pour tout point i faire
Calcul du nombre de prédécesseurs non marqués de tout point
ndp=0 ;
Pour tout point j faire
si B(j,i)>0 et M(j)=0 alors ndp++ finsi
Fin pour j
NBPréd(i)=ndp ;
Fin pour i
finsi
finsi
Fin tantque
Si circuit = vrai alors
Le graphe contient un circuit et la fonction rang ne peut être calculé.
sinon
Le tableau R contient le rang de tout point
finsi.


si vous avez un code j'aimerais l'observer car je n'arrive pas a implementer celui-ci en java.

1 réponse

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
8 nov. 2018 à 07:54
0
Rejoignez-nous