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 :

Repr�sentation optimale d'un graphe en C++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    D�tails du profil
    Informations personnelles :
    �ge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par d�faut Repr�sentation optimale d'un graphe en C++
    Bonjour tout le monde,

    Afin de pouvoir tester des algorithmes de th�orie des graphes pour la recherche d'une coupe minimale (et � plus long terme la segmentation d'une image), j'ai besoin de construire tout d'abord un graphe.

    Or d'apr�s vous, quelle est la meilleur repr�sentation possible d'un graphe en C++ ? Une simple matrice avec en (i,j) la valeur de l'arc (i,j) ? Ou a-t-on besoin d'autres donn�es ? Doit-on en faire une classe ou une structure ?

    Je vous remercie !

    Edit : Pour r�pondre � l'une de mes questions d�j�, j'ai besoin d'autres donn�es que seulement la valeur de l'arc. Voulant utiliser des algorithmes de th�orie des graphes sur les flots (Ford-Fulkerson et Push-Relabel), j'ai besoin de conna�tre aussi par exemple l'exc�s de flot en un noeud du graphe. Mais comment repr�senter l'ensemble de mon graphe d'apr�s vous ?

  2. #2
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    ca depend de l'algo.

    je pr�conise boost.graph

  3. #3
    Membre �clair�
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    D�tails du profil
    Informations personnelles :
    �ge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par d�faut
    Merci Joel F pour ta r�ponse.

    En fait, ca me d�range pas de recoder mes propres classes pour la cr�ation d'un graphe. Apr�s, si je cr�� les classes graphe, ar�te et sommet, qu'est ce que m'apporterais boost en plus pour la cr�ation des graphes ?

    Merci !

  4. #4
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    boost.graph apporte avant tout des algorithmes, adaptables � des classes de graphes existantes. Elle fournit aussi plusieurs classes de graphe, avec des choix diff�rents en terme de compromis.
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  5. #5
    Membre �clair�
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    D�tails du profil
    Informations personnelles :
    �ge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par d�faut
    Merci JolyLoic pour l'explication.

    Etant donn� que je veux d�velopper l'algorithme de Ford-Fulkerson moi-m�me, je ne vais donc pas utiliser Boost.

    Par contre, connaitriez-vous la repr�sentation optimale d'un graphe en C++?
    Une classe pour le graphe, une autre pour les sommets, et une troisi�me pour les ar�tes avec en attributs la capacit� et le flot de l'ar�te ?

    Merci !

  6. #6
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Ce que j'ai essay� de dire, c'est qu'il n'y a pas de repr�sentation de graphe optimale, ni en C++, ni dans aucun langage. Certaines repr�sentations sont plus adapt�es � certains algorithmes, d'autres � d'autres, et on doit souvent choisir la moins mauvaise en fonction des algorithmes que l'on pense utiliser, ainsi que d'autres contraintes (nombre de n�uds, topologie du graphe, compatibilit� avec du code existant, dynamicit� du graphe,flexibilit� de modifications du code...).

    M�me la phrase "Une classe pour le graphe, une autre pour les sommets, et une troisi�me pour les ar�tes avec en attributs la capacit� et le flot de l'ar�te ?" est extr�mement impr�cise. Par exemple, dans ces classes, qui connait qui (lien direct entre sommets ? Un sommet conna�t-il les arr�tes suivantes, pr�c�dentes, les deux ?...) ? Comment est g�r� cette connaissance (vector, list, map... d'objet, de pointeurs (intelligents ?)...).
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

Discussions similaires

  1. Repr�sentation graphique d'un graphe
    Par garheb dans le forum 2D
    R�ponses: 1
    Dernier message: 14/11/2012, 00h08
  2. R�ponses: 6
    Dernier message: 06/12/2007, 09h33
  3. R�ponses: 2
    Dernier message: 15/10/2007, 11h28
  4. Repr�sentation de graphes et r�seaux
    Par Bardack dans le forum AWT/Swing
    R�ponses: 3
    Dernier message: 02/03/2007, 11h34
  5. Th�orie des graphes : Repr�sentation GRAPHIQUE d'une matrice d'adjacence
    Par jm_gouy dans le forum Algorithmes et structures de donn�es
    R�ponses: 3
    Dernier message: 03/05/2006, 16h53

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