Bonjour!
Je voulais savoir si c'est possible de lire/ecrire plusieurs graphes dans un seul fichier en utilisant Networkx , car j'ai trouver seulement des exemples avec un seul graphe.
Bonjour!
Je voulais savoir si c'est possible de lire/ecrire plusieurs graphes dans un seul fichier en utilisant Networkx , car j'ai trouver seulement des exemples avec un seul graphe.
Salut,
Une liste de graphes peut être considérée comme un graphe avec des sous-graphes disjoints.
Après tout dépend de ce que vous voulez faire. Rien n'interdit de définir comment seront détectés différents graphes stockés dans un même fichier et écrire le code. Sinon oui, les primitives de networkx travaillent par "graphe" et non par liste de...
- W
au fait, je veux representé les graphes comme des transactions ou "t # 0" représente le numéro du graphe "v 0 11" représente le premier nœud étiqueté 11 et "e 0 1 7" représente une arête entre les nœuds "v 0 " et "v 1" avec le poid 7.
donc le fichier .data sera de la forme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143 t # 0 v 0 11 v 1 17 v 2 6 v 3 5 v 4 12 v 5 19 v 6 17 v 7 10 v 8 19 v 9 11 e 0 1 7 e 0 3 8 e 0 7 19 e 1 2 4 e 1 9 7 e 1 4 5 e 2 4 12 e 2 5 14 e 2 8 14 e 3 9 12 e 4 6 4 e 4 8 5 e 4 9 18 e 6 9 7 t # 1 v 0 8 v 1 19 v 2 6 v 3 18 v 4 12 v 5 19 v 6 12 v 7 14 v 8 14 v 9 8 v 10 9 e 0 1 1 e 0 3 10 e 0 6 14 e 0 10 14 e 0 7 9 e 1 2 14 e 1 4 5 e 1 7 0 e 1 8 0 e 1 9 1 e 1 5 0 e 2 6 13 e 3 5 11 e 3 9 10 e 4 10 12 e 5 9 1 e 6 10 12 e 8 10 15 t # 2 v 0 3 v 1 10 v 2 13 v 3 11 v 4 10 v 5 5 v 6 13 v 7 2 v 8 19 v 9 15 v 10 0 e 0 1 9 e 0 2 1 e 0 3 17 e 0 4 9 e 0 5 1 e 1 5 4 e 1 8 12 e 2 5 14 e 2 7 11 e 2 8 10 e 3 4 4 e 3 10 1 e 4 9 14 e 4 5 4 e 5 6 14 e 6 8 10 e 6 7 11 t # 3 v 0 10 v 1 12 v 2 11 v 3 9 v 4 8 v 5 0 v 6 17 v 7 2 v 8 9 v 9 7 e 0 1 1 e 0 2 4 e 0 3 3 e 1 3 12 e 1 6 5 e 1 4 14 e 1 2 18 e 2 4 9 e 2 5 1 e 2 9 3 e 4 8 14 e 4 6 6 e 5 9 5 e 6 7 6 t # 4 v 0 1 v 1 8 v 2 9 v 3 12 v 4 15 v 5 1 v 6 9 v 7 16 v 8 7 v 9 5 v 10 14 v 11 3 e 0 1 0 e 0 3 14 e 0 10 9 e 0 2 2 e 1 2 14 e 1 4 10 e 1 5 0 e 1 7 17 e 2 4 18 e 2 5 2 e 3 5 14 e 3 6 12 e 4 6 18 e 5 6 3 e 5 9 19 e 5 10 9 e 6 8 5 e 6 10 15 e 7 11 12 e 7 8 8 e 9 11 1
Salut,
Soit n le numéro du graphe.
Vous pouvez le stocker dans un fichier nommé "graphes/graph_<n>.dat"
Après regardez les primitives de lecture/écriture de graphes par NetworkX, au hasard prenons:
Vous pouvez écrire des fonctions "myread_adjlist(n, [, comments, delimiter, ...]) et "mywrite_adjlist(G, n[, comments, ...])" qui calculeront le "path" en fonction de "n" et qui le passent aux fonctions originales.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 read_adjlist(path[, comments, delimiter, ...]) Read graph in adjacency list format from path. write_adjlist(G, path[, comments, ...]) Write graph G in single-line adjacency-list format to path.
C'est facile à réaliser et çà permet de vous donner du temps pour réfléchir à ce que vous voulez (car, désolé mais si c'est clair pour vous, pour moi c'est du charabia).
- W
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager