Generation d'un graphe d'une matrice d'incidence/d'adjacence
Fermé
malek.barkaoui
Messages postés
1
Date d'inscription
vendredi 7 décembre 2012
Statut
Membre
Dernière intervention
7 décembre 2012
-
Modifié par malek.barkaoui le 7/12/2012 à 20:56
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 - 5 janv. 2013 à 14:22
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 - 5 janv. 2013 à 14:22
A voir également:
- Generation d'un graphe d'une matrice d'incidence/d'adjacence
- Génération processeur amd - Guide
- Generation mot de passe - Télécharger - Sécurité
- Réinitialiser chromecast 1ere génération - Guide
- Comment générer un qr code - Guide
- Graphe easy - Télécharger - Études & Formations
1 réponse
mamiemando
Messages postés
33346
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 novembre 2024
7 803
5 janv. 2013 à 14:22
5 janv. 2013 à 14:22
j'aimerais bien savoir si C'est possible de générer un graphe à partir d'une matrice d'adjacence ou d'incidence avec le langage C.
Oui
Si oui qu'est ce que je dois utiliser comme IDE
Celui que tu veux, l'IDE n'a aucun impact sur ce que tu peux développer ou non, c'est juste du confort d'utilisation. Tu peux par exemple utiliser code::blocks si tu es sous windows, kdevelop ou anjuta sous linux.
s'il y a des bibliothèques qui permettent de faciliter la tâche, et comment je peux faire son parcours en largeur et en profondeur.
Une recherche google mène ici, mais je ne l'ai jamais testée :
https://github.com/igraph/
En C++ tu as boost mais si tu débutes, ça risque d'être un peu trop compliqué pour commencer.
https://www.boost.org/doc/libs/1_47_0/libs/graph/example/dfs-example.cpp
Svp j'ai un mini-projet et je sais pas par ou commencer , si vous connaissez quelque chose vos réponses me seront utiles !
Pour moi le plus simple c'est simplement de coder des fonctions qui parcourent la matrice pour récupérer les informations qui t'intéressent. Par exemple dans un DFS (parcours en profondeur d'abord) ou un BFS (parcours en largeur d'abord) tu as besoin de savoir quels sont les successeurs d'un noeud. Supposons que ta matrice d'adjacence soit de taille n * n et que chaque case stocke un entier (A[i][j] = 1 si i -> j, 0 sinon)
Alors itérer sur les successeurs du noeud i revient à parcourir la colonne i et considérer les valeurs de j telles que A[i][j] !=0.
En d'autres termes, il suffit que tu codes une structure de matrice facile à utiliser et normalement après c'est assez simple...
Bonne chance
Oui
Si oui qu'est ce que je dois utiliser comme IDE
Celui que tu veux, l'IDE n'a aucun impact sur ce que tu peux développer ou non, c'est juste du confort d'utilisation. Tu peux par exemple utiliser code::blocks si tu es sous windows, kdevelop ou anjuta sous linux.
s'il y a des bibliothèques qui permettent de faciliter la tâche, et comment je peux faire son parcours en largeur et en profondeur.
Une recherche google mène ici, mais je ne l'ai jamais testée :
https://github.com/igraph/
En C++ tu as boost mais si tu débutes, ça risque d'être un peu trop compliqué pour commencer.
https://www.boost.org/doc/libs/1_47_0/libs/graph/example/dfs-example.cpp
Svp j'ai un mini-projet et je sais pas par ou commencer , si vous connaissez quelque chose vos réponses me seront utiles !
Pour moi le plus simple c'est simplement de coder des fonctions qui parcourent la matrice pour récupérer les informations qui t'intéressent. Par exemple dans un DFS (parcours en profondeur d'abord) ou un BFS (parcours en largeur d'abord) tu as besoin de savoir quels sont les successeurs d'un noeud. Supposons que ta matrice d'adjacence soit de taille n * n et que chaque case stocke un entier (A[i][j] = 1 si i -> j, 0 sinon)
Alors itérer sur les successeurs du noeud i revient à parcourir la colonne i et considérer les valeurs de j telles que A[i][j] !=0.
En d'autres termes, il suffit que tu codes une structure de matrice facile à utiliser et normalement après c'est assez simple...
Bonne chance