重心#
- barycenter(G, weight=None, attr=None, sp=None)[source]#
计算连通图的重心,可选择使用边权重。
在一个
连通
图 \(G\) 中,重心是由使其目标函数最小化的节点 \(v\) 集合构成的导出子图\[\sum_{u \in V(G)} d_G(u, v),\]其中 \(d_G\) 是(可能带权重的)
路径长度
。 重心也称为中位数。参见 [West01],第 78 页。- 参数:
- G
networkx.Graph
连通图\(G\)。
- weight
str
, 可选 - attr
str
, 可选 如果给出,将目标函数的值写入每个节点的
attr
属性中。否则不存储该值。- spdict of dicts, 可选
所有节点对的最短路径长度,以字典的字典形式表示。
- G
- 返回:
- list
G
中构成G
重心的节点。
- 抛出:
- NetworkXNoPath
如果
G
不连通。如果给定了sp
但缺少某些节点对的最短路径长度,barycenter()
可能会认为G
不连通。- ValueError
如果同时给定了
sp
和weight
。
示例
>>> G = nx.Graph([(1, 2), (1, 3), (1, 4), (3, 4), (3, 5), (4, 5)]) >>> nx.barycenter(G) [1, 3, 4]