2017-04-21 3 views
0

Wie kann ich die Anzahl der verbundenen Komponenten berechnen, die einen bestimmten Knoten in einem Netzwerk umgeben?Anzahl der Komponenten eines Knotens in Networkx

Beispiel: angenommen, A ist mit B verbunden. A ist auch mit C und D verbunden, und C und D sind auch miteinander verbunden. In diesem Fall hat der Knoten A 2 verbundene Komponenten einschließlich [B] und [C, D].

+0

Was bedeutet es für eine angeschlossene Komponente, einen Knoten zu "umgeben"? Ein Knoten kann nur Teil einer verbundenen Komponente sein. –

+0

Nur die Frage aktualisiert @aryamccarthy – msmazh

+0

So könnte Ihre Frage wie folgt umgekrempelt werden: Wenn ich Knoten ** A ** aus einem verbundenen Graphen entfernen, welche Komponenten gibt es? –

Antwort

1

Ich glaube, ich verstehe Ihre Absicht jetzt.

Verwenden wir die florentinischen Familien von Padgett als Modell.

Florentine families graph

Hier der Nachbarn des Medici-Knoten, nur Ridolfi und Tornabuoni sind Nachbarn voneinander.

# Setup 
import networkx as nx 
G = nx.florentine_families_graph() # Or whatever else your graph is. 

# Computation 
node_id = 'Medici' # Your nodes are probably identified by a number. 
ego = nx.ego_graph(G, n=node_id, center=False) 
components = nx.connected_components(ego) 
for c in components: 
    print(c) 
# {'Acciaiuoli'} 
# {'Ridolfi', 'Tornabuoni'} 
# {'Albizzi'} 
# {'Salviati'} 
# {'Barbadori'} 

Das Ego Graph ist alle unmittelbaren Nachbarn eines Knotens n. center=False schließt n von diesem Diagramm aus. Von dort finden wir die Komponenten.

+0

genial. Danke @aryamccarthy – msmazh

Verwandte Themen