2017-04-21 1 views
0

네트워크의 주어진 노드를 둘러싼 연결된 구성 요소의 수를 계산하려면 어떻게해야합니까?Networkx의 노드 구성 요소 수

예 : A가 B에 연결되어 있고 A도 C와 D에 연결되어 있고 C와 D도 서로 연결되어 있다고 가정합니다. 이 경우 노드 A는 [B]와 [C, D]를 포함하여 2 개의 연결된 구성 요소를 갖습니다.

+0

연결된 구성 요소가 노드를 "둘러싸"는 것은 무엇을 의미합니까? 노드는 하나의 연결된 구성 요소의 일부일 수 있습니다. –

+0

방금 ​​@aryamccarthy 질문을 업데이트했습니다. – msmazh

+0

질문을 다음과 같이 재구성 할 수 있습니다 : 연결된 그래프에서 노드 ** A **를 제거하면 존재하는 구성 요소는 무엇입니까? –

답변

1

나는 당신의 의도를 이해한다고 생각합니다.

Padgett 's Florentine 패밀리를 모델로 사용해 보겠습니다. 메디치 노드의 이웃과 만 Ridolfi으로 Tornabuoni의 여기

Florentine families graph

서로의 이웃이다.

# 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'} 

자아 그래프는 노드 n의 모든 바로 이웃이다. center=False은 해당 그래프에서 n을 제외합니다. 거기에서 우리는 구성 요소를 찾습니다.

+0

굉장. 감사합니다 @aryamccarthy – msmazh

관련 문제