重心#

barycenter(G, weight=None, attr=None, sp=None)[source]#

计算连通图的重心,可选择使用边权重。

在一个 连通\(G\) 中,重心是由使其目标函数最小化的节点 \(v\) 集合构成的导出子图

\[\sum_{u \in V(G)} d_G(u, v),\]

其中 \(d_G\) 是(可能带权重的)路径长度。 重心也称为中位数。参见 [West01],第 78 页。

参数:
Gnetworkx.Graph

连通图\(G\)

weightstr, 可选

传递给 shortest_path_length()

attrstr, 可选

如果给出,将目标函数的值写入每个节点的 attr 属性中。否则不存储该值。

spdict of dicts, 可选

所有节点对的最短路径长度,以字典的字典形式表示。

返回:
list

G 中构成 G 重心的节点。

抛出:
NetworkXNoPath

如果 G 不连通。如果给定了 sp 但缺少某些节点对的最短路径长度,barycenter() 可能会认为 G 不连通。

ValueError

如果同时给定了 spweight

另请参阅

中心
外围

示例

>>> G = nx.Graph([(1, 2), (1, 3), (1, 4), (3, 4), (3, 5), (4, 5)])
>>> nx.barycenter(G)
[1, 3, 4]