IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Question pr graphe non oriente connexe


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Question pr graphe non oriente connexe
    Ecrire une fct en C,qui prend en entree un graphe non oriente connexe G et un sommet x de G,et qui a pour resultat 1 si x est un point d'articulation de G et 0 sinon.
    ici un Point d'articulation de G est un sommet x de G tq la suppression de x dans G rend le graphe induit non connexe(il possede au moins deux composantes connexes)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    int est_point_ariculation(graphe_l g, sommet x)
    { int marque[n_max];
       sommet y;
       int nb_marques;
       for(y=0;y<g.n;y++)
            marque[y]=0;
            marque[x]=1;
        if(x==0)
         rech_prof(g,1,marque);
        else rech_prof(g,0,marque);
         nb_marques=0;
        for(y=0;y<g.n;y++)
         nb_marques=nb_marques+marque[y];
              return (nb_marques<g.n);
    }
     
       void rech_prof(graphe_l g ,sommet x, int marque[] )
    {     liste p;
           marque[x]=1;
           p=g.a[x];
           while(p!=NULL)
      {  if(!marque[p->st])
            rech_prof(g,p->st,marque);
            p=p->suivant;
       }
    }
    je sais la fct rech_prof va marquer x et marquer tous les sommets y figurant dans la descendance de x..
    mais je n`ai pas compris pourquoi ecrire comme ca...
    Merci~~

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par anthony7788 Voir le message
    je sais la fct rech_prof va marquer x et marquer tous les sommets y figurant dans la descendance de x..
    Non, x est déjà marqué, rech_prof() est un classique parcours en profondeur du graphe partant d'un sommet qui n'est pas x (1 si x == 0, 0 sinon), comme x est déjà marqué au préalable, ce parcours ne passera pas par x, donc si x est un point d'articulation, ce parcours n'atteindra pas tous les noeuds, ce qui est vérifié par la dernière boucle de est_point_articulation().

    --
    Jedaï

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Jedai Voir le message
    Non, x est déjà marqué, rech_prof() est un classique parcours en profondeur du graphe partant d'un sommet qui n'est pas x (1 si x == 0, 0 sinon), comme x est déjà marqué au préalable, ce parcours ne passera pas par x, donc si x est un point d'articulation, ce parcours n'atteindra pas tous les noeuds, ce qui est vérifié par la dernière boucle de est_point_articulation().

    --
    Jedaï
    merci!

    mais

    c'est quoi(1 si x == 0, 0 sinon)??
    if(x==0) ici x==0 cad?
    rech_prof(g,1,marque);
    else rech_prof(g,0,marque);


    si x est un point d'articulation, ce parcours n'atteindra pas tous les noeuds
    cad nb_marques<g.n?
    quand nb_marques=g.n c'est pas point d'articulation?

Discussions similaires

  1. graphe non orienté
    Par scary dans le forum Mathématiques
    Réponses: 1
    Dernier message: 10/06/2008, 23h46
  2. Géneration aléatoire de graphe non orienté connexe
    Par condor_01 dans le forum Algorithmes et structures de données
    Réponses: 20
    Dernier message: 18/12/2007, 14h58
  3. Test de connexité sur graphe non orienté
    Par condor_01 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 25/10/2007, 00h01
  4. Plus court chemin - graphe NON orienté et pondéré
    Par Nicodemus dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 14/03/2006, 15h32
  5. algos sur graphes non orientés
    Par lechewal dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 05/01/2006, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo