如何计算网络中给定节点周围连接组件的数量?
示例:假设A连接到B. A也连接到C和D,C和D也相互连接。在这种情况下,节点A具有2个连接的组件,包括[B]和[C,D]。
答案 0 :(得分:1)
我相信我现在理解你的意图了。
让我们用Padgett的佛罗伦萨家族作为榜样。
在这里,在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
。从那里,我们找到了组件。