Création d'une matrice d'adjacence à partir d'un graphe
Fermé
medfiras01
Messages postés
3
Date d'inscription
mardi 15 août 2017
Statut
Membre
Dernière intervention
15 août 2017
-
Modifié le 15 août 2017 à 16:44
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 15 août 2017 à 23:04
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 15 août 2017 à 23:04
A voir également:
- Création d'une matrice d'adjacence à partir d'un graphe
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Creation compte gmail - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
1 réponse
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
15 août 2017 à 18:56
15 août 2017 à 18:56
Bonjour,
Ci-dessous un exemple de fichier GraphML
Pour représenter un tel graphe il te faut une matrice de taille 2 (car il y a 2 noeuds : n0 et n1), toutes les valeurs de la matrice sont 0, sauf pour représenter l'arrête e1 (entre n0 et n1) où l'on place une valeur 1.
Remarque : la définition
Et des cas particuliers il y en a un certain nombre à gérer avec le format GraphML qui autorise par exemple des sous-graphe, des hypergraphes, etc.
Cela rend le fichier XML plus difficile à analyser de manière exhaustive, mais tu peux aussi te limiter aux usages les plus basiques selon le besoin.
Ci-dessous un exemple de fichier GraphML
<?xml version="1.0" encoding="UTF-8"?> <graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> <graph id="G" edgedefault="undirected"> <node id="n0"/> <node id="n1"/> <edge id="e1" source="n0" target="n1"/> </graph> </graphml>
Pour représenter un tel graphe il te faut une matrice de taille 2 (car il y a 2 noeuds : n0 et n1), toutes les valeurs de la matrice sont 0, sauf pour représenter l'arrête e1 (entre n0 et n1) où l'on place une valeur 1.
Remarque : la définition
<graph id="G" edgedefault="undirected">indique que l'on est dans le cas particulier d'un graphe non-orienté, donc par symétrie il faudra aussi mettre une valeur 1 entre n1 et n0.
Et des cas particuliers il y en a un certain nombre à gérer avec le format GraphML qui autorise par exemple des sous-graphe, des hypergraphes, etc.
Cela rend le fichier XML plus difficile à analyser de manière exhaustive, mais tu peux aussi te limiter aux usages les plus basiques selon le besoin.
15 août 2017 à 21:54
Modifié le 15 août 2017 à 22:56
15 août 2017 à 23:04
pour savoir que c'est un graphe orienté (mais si c'est toujours le cas dans gephi on pourrait même s'en passer)
qui permet de connaître la taille de ta matrice, dans l'exemple tu as 24 nœuds, donc une matrice 24 lignes et 24 colonnes.
qui permet de savoir où tu dois mettre les 1 dans ta matrice (ici ligne 0, colonne 1).
Donc tu n'as qu'à lire le fichier ligne par ligne, créer ta matrice dès que tu connais sa taille et la remplir au fur et à mesure...