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.
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.
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 !).
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.
Autant proposer ce lien directement![]()
Ou, pour un tutoriel pour orient� d�butant, Commencer facilement avec Boost Graph (oui, c'est de l'auto-promo, et alors ?)
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.
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�
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
- ...
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++ ?
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.
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.
Partager