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

C Discussion :

liste d'adjaçance ou pas..?


Sujet :

C

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 67
    Par défaut liste d'adjaçance ou pas..?
    Salut les developpeurs....
    Alors j'ai une question à poser sur les graphs....
    J'ai fait la déclaration suivante d'un type graph (c'est ecrit en code c),la voilà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    typedef struct noeud 
    {
    	int val;
    	struct noued *suivant;//noeud suivant(sommet suivant)...
    	struct adjaçan *voisin;//tout noeud a un pointeur vers ses sommets voisins... 
    }Graph;
     struct adjaçan
    {
    	int voisins[1000];
    };
    Ma question c'est : peut on consedérer cette implimantation comme etant une implimantation dans une liste d'adjaçance?
    Merci mes amis ..
    Allé salut

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    J'ai du mal saisir ton problème. Peux-tu nous dire ce que tu cherches exactement ?

  3. #3
    Rukia
    Invité(e)
    Par défaut
    J ai pas compris pour quoi tu as fais cette structure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     struct adjaçan
    {
    	int voisins[1000];
    }
    Pour declarer la structure du graphe ::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    typedef struct graphe
    {
    	int val;
    	struct graphe *noeud;//pointeur sur les noeud
    	struct graphe *voisin;//pointeur sur les voisins... 
    }Graph;

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 67
    Par défaut
    Salut les amis..
    Ben en fait je suis un etudiant et ils nous on demander de faire la declaration de la structure d'une liste d'adjaçance d'un graph ....

  5. #5
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Il s'agit d'une simple liste chainée dans laquelle tu places en information la pondération et le noeud successeur, ce que tu as fais ne correspond pas exactement à ce qui est demandé.

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 67
    Par défaut
    Salut ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    struct graphe *voisin;//pointeur sur les voisins...
    je pense que sa fait un seul pointeur vers un seul voisin ne ce pas...?

  7. #7
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Si je comprend bien ton problème, on aurait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    typedef struct noeud 
    {
    	int val;
    	struct noeud *suivant; //noeud suivant(sommet suivant)...
    	struct adjaçan *voisin; //Liste des voisins... 
    }Graph;
     struct adjaçan
    { 
      Graph *noeudVoisin ;        // noeud voisin ;
      struct adjaçan * suivant ; // voisin suivant;
    };

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 67
    Par défaut
    Salut les developpeurs....
    Merci bien pour vos réponses .....

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 67
    Par défaut
    Salut....
    Il me reste une derniere chose .....Quelle est l'utilité principale de cette structure -je veux dire les graph- ?

  10. #10
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    juste une petite remarque :

    c'est

    adjacent


    et non

    adjacan


  11. #11
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Quelle est l'utilité principale de cette structure -je veux dire les graph- ?
    de faire la liste des noeuds (par le champ suivant ) et de stocker l'information propre à chaque noeud (champ val et la liste des voisins de ce noeud champ voisin)
    La liste des voisins (liste de struct adjaçan) est réalisée par le champ suivant de struct adjaçan et fait référence au noeud voisin concerné par le champ noeudVoisin

  12. #12
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 67
    Par défaut
    Salut ....
    je veux dire en infomatique généralement surtout les graphs oriontés....par exemple , les arbres on l'utilises pour faire des dictionnaires ..ect

  13. #13
    Rukia
    Invité(e)
    Par défaut
    Mais dans la structure des graphes chaque sommet peut avoir plusieurs nœuds et plusieurs voisin
    Donc il faut aussi ajouter la liste des nœuds

  14. #14
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 123
    Par défaut graphe
    Salut,

    j'ai realisé un simulateur de fourmis en utlisant une liste d'adjacence, je te poste mon code si tu veut.

  15. #15
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut
    Personnelement je ferais quelque chose du genre:


    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
     
    typedef struct arete Arete
    typedef struct noeud
    {	
    	Arete	*NoeudAdj;	 /* liste chaînée des sommets adjacents */
    	struct	noeud *Suivant;	/* lien vers le sommet suivant */
    } Noeud;	                    /* un sommet du graphe */
     
    struct arete
    {
    	Noeud	*Dest;      /* le sommet sur lequel pointe l'arête */
    	Arete	*Suivant;	/* lien vers l'arête suivante */
    };	/* une arête vers un sommet avec une référence vers sa relation */
     
    typedef Noeud * Graph

Discussions similaires

  1. Afficher une liste qui n'existe pas dans la base de données.
    Par Zvetch dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 25/09/2007, 13h23
  2. Réponses: 1
    Dernier message: 03/08/2007, 16h42
  3. Réponses: 3
    Dernier message: 15/06/2007, 12h06
  4. Réponses: 4
    Dernier message: 21/08/2005, 19h14

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