Networkx中节点的组件数

时间:2017-04-21 18:00:04

标签: python networkx

如何计算网络中给定节点周围连接组件的数量?

示例:假设A连接到B. A也连接到C和D,C和D也相互连接。在这种情况下,节点A具有2个连接的组件,包括[B]和[C,D]。

1 个答案:

答案 0 :(得分:1)

我相信我现在理解你的意图了。

让我们用Padgett的佛罗伦萨家族作为榜样。

Florentine families graph

在这里,在Medici节点的邻居中,只有Ridolfi和Tornabuoni是彼此的邻居。

# 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。从那里,我们找到了组件。