Yop les gars, je dois coder une appli en C#, et une classe de cette appli concerne des calculs sur des graphes à partir de leur matrice d'adjacence.
Je dois faire une méthode qui calcul le noyau d'un graphe. Pour cela j'applique l'algorithme suivant :
-> Trouver si il y a au moins une ligne de 0.
-> Si oui, prendre la colonne à l'indice de cette ligne.
-> Si il y a des 1 sur cette colonne, supprimer les lignes et les colonnes à l'indice des 1.
-> Si il y a une nouvelle ligne de 0 qui apparaît, recommencer l'opération.
L'algorithme ne me pose pas de problème en soit, mais la question est : quand l'appliquer ? En effet, il n'est pas valable pour un graphe de ce genre : 1 relié à 2, 2 relié à 3, 3 relié à 4, 4 relié à 1, qui a pourtant 2 noyaux possibles : soit {1, 3} soit {2, 4}.
Est ce que je n'applique l'algo qu'au cas où il n'y a pas de lignes de 0 dans ma matrice ? Sachant qu'en cours on nous a dit qu'il y en avait forcément, affirmation réfutée par l'exemple du dessus ... £
Merci
This post was edited by Bremen on Oct 12 2013 11:04am