[Graphe] Affecter une même valeur au nœuds reliés par un chemin

Affecter une même valeur au nœuds reliés par un chemin [Graphe] - Algo - Programmation

Marsh Posté le 24-10-2011 à 22:20:34    

Bonjour,
 
J'ai un graphe non orienté. Pour visualiser les résultats de certains traitements, j'ai besoin d'affecter une même valeur (étiquette) à tous les nœuds qui sont reliés par un chemin. Il y aura donc des blocs de "nœuds ayant une même étiquette". En gros, ça revient à associé le même label à tous les nœuds d'une même composante connexe.
 
L'idée c'est que tant qu'il reste des nœuds non étiquetés:
Prendre un nœud non étiqueté et lui affecté une étiquette (valeur). Puis affecter la même étiquette à tous les nœuds non étiquetés, connectés à ce nœud par un chemin.
 
Mais algorithmiquement, je bloque un peut.
Des propositions ?
 
Merci bien.
 
Edit:
 
Pensez-vous que ma solution ci-dessous est cohérente ?
 

Code :
  1. Procedure Etiquetage(Noeud N, int i)
  2. {
  3.    N.etiquette = i;
  4.    Pour chaque voisin NV de N faire:
  5.    {
  6.       Si NV.etiquette n'existe pas alors:
  7.       {
  8.          Etiquetage(NV, i);
  9.       }
  10.    }
  11. }
  12. int i = 0;
  13. Pour chaque noeud N du graphe:
  14. {
  15.    Si N.etiquette n'existe pas alors:
  16.    {
  17.       Etiquetage(N, i);
  18.       i = i + 1;
  19.    }
  20. }


Message édité par charlebakhtovsky le 24-10-2011 à 23:48:01
Reply

Marsh Posté le 24-10-2011 à 22:20:34   

Reply

Marsh Posté le 24-10-2011 à 23:53:33    

Bon apparemment ça marche donc problème résolu.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed