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 :

graphes en C++


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 188
    Points : 51
    Points
    51
    Par défaut graphes en C++
    Bonjour,

    Comment implémenter un graphe avec C++. Mon graphe est constitué d'un ensemble des nœuds de différents types et un ensemble des arcs aussi avec différents types.

    Merci d'avance.

  2. #2
    Membre expérimenté Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Points : 1 396
    Points
    1 396
    Par défaut
    En utilisant ta tête (Ou en nous proposant un code de base, ou en explicitant tes idées, il faut toujours donner une base !).

  3. #3
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Bonjour,

    Il y a 1001 façon d'implémenter des graphes en C++, le tout serait de savoir ce que tu vas en faire, à quelle "fréquence" et de savoir si tu préfère avoir quelque chose de plus rapide mais utilisant plus de mémoire ou l'inverse.

    Sinon un petit lien qui pourra t'aider.

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    Autant proposer ce lien directement

  5. #5
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Ou, pour un tutoriel pour orienté débutant, Commencer facilement avec Boost Graph (oui, c'est de l'auto-promo, et alors ? )

  6. #6
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 188
    Points : 51
    Points
    51
    Par défaut
    Merci pour toutes les réponses. Mais, dans mon travail je n'ai pas besoin d'aucun algorithme offert par Boost.graph. Est il utile donc de l'utiliser?

  7. #7
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Citation Envoyé par kochfet Voir le message
    Merci pour toutes les réponses. Mais, dans mon travail je n'ai pas besoin d'aucun algorithme offert par Boost.graph. Est il utile donc de l'utiliser?
    Un bon programmeur est un programmeur féniant (enfin tant qu'il ne délocalise pas son travail en Chine ) donc si boost peut t'éviter de coder toi-même des fonctions et te faire gagner du temps n'hésite pas.
    Bien sûr si tu as des contraintes spécifiques (ex : contrainte de taille du programme, etc...) tu seras peut être obligé de le réécrire toi-même.

    Il ne faut aussi pas oublier qu'un code présent dans une bibliothèque a moins de chances d'être boggué que le code qu'on écrit nous-même.

  8. #8
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Est-ce que c’est un travail d’étude ?

    Car si c’est un travail d’étude, le but est d’apprendre à modéliser un graphe, pas de prendre une librairie qui te mâche le travail.

    Dans un autre cas, c’est impossible de répondre de manière générale à ta question. J’ai plutôt envie de dire que à moins que tu aies de bonnes raisons de ne pas le faire, oui ça vaut probablement le coup. Mais sans connaître ton besoin précis…

  9. #9
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 188
    Points : 51
    Points
    51
    Par défaut
    Mon but est de représenter une requête SQL sous forme d'un graphe. J'ai une structure précise de ce graphe : un ensemble des nœuds de différents types (des noeuds qui représentent les variables dans la clause from...) et un ensemble des liens (des liens qui représentent la jointure, des liens qui représentent les quantificateurs existentiels...). Par exemple,

    - chaque variable déclarée dans la clause from va être transformée à un nœud que j'ai l'appeler un nœud Ns, ce nœud possède une propriété qui est le prédicat défini sur la variable.

    - Chaque expression de jointure dans la clause where va être transformé à un lien de jointure Lj. Ce lien possède une propriété qui est la condition de jointure

    - ...

  10. #10
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    C’est pas plutôt un hyperarbre une requête sql*?

  11. #11
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 188
    Points : 51
    Points
    51
    Par défaut
    En fait, je veux savoir comment transformer une requête SQL sous forme d'un graphe. Autrement dit, comment récupérer les différentes parties de la requête (les variables dans la clause from, les prédicats définis sur ces variables dans la clause where, les conditions de jointure, les attributs de projection....) avec un code écrit en C++ ?

  12. #12
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Il te faut un parseur SQL. Mais je pense que tu auras un arbre, pas un graphe .

    Aucune idée de s’il en existe de facilements intégrables, sinon, ça doit se faire avec spirit ou autres, mais je pense que la grammaire SQL est quand même un assez gros morceau.

  13. #13
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Il existe toujours la solution de "l'œil du libre".
    La bibliothèque libre Sqlite implémente une grammaire SQL, donc, tu peux regarder son code.
    C'est une piste comme une autre.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

Discussions similaires

  1. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  2. [Turbo Pascal] [Windows XP] Problème avec l'unité GRAPH
    Par themofleur dans le forum Turbo Pascal
    Réponses: 22
    Dernier message: 29/03/2003, 22h43
  3. Perl & Graphes
    Par makram9999 dans le forum Modules
    Réponses: 4
    Dernier message: 24/03/2003, 11h24
  4. [] [Excel] Exporter un graphe MSChart vers Excel
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 17h49
  5. Concerne les graphes
    Par mcr dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 12/11/2002, 11h02

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