average_shortest_path_length#

average_shortest_path_length(G, weight=None, method=None)[源代码]#

返回平均最短路径长度。

平均最短路径长度为

\[a=\sum_s,t \in v \frac_d(s,t)n(n-1)\]

在哪里? V 节点集是否位于 Gd(s, t) 最短的路从 stn 是中的节点数 G .

参数
G网络X图表
weight无、字符串或函数、可选(默认值=无)

如果没有,则每条边的权重/距离/成本为1。如果是字符串,则使用该边属性作为边权重。任何不存在的边属性默认为1。如果这是一个函数,则边的权重是该函数返回的值。该函数必须恰好接受三个位置参数:一条边的两个端点和该边的边属性字典。该函数必须返回一个数字。

method字符串,可选(默认为‘unweight’或‘djikstra’)

用于计算路径长度的算法。支持的选项有‘unweight’、‘Dijkstra’、‘belman-ford’、‘floyd-warshire’和‘floyd-warshire-nupy’。其他方法值会产生ValueError。如果出现以下情况,则默认方法为‘Unweight’ weight 为None,否则默认方法为‘Dijkstra’。

加薪
NetworkXPointlessConcept

如果 G 是空图(即零节点上的图)。

NetworkXError

如果 G 不是连通的(或者在有向图的情况下,不是弱连通的)。

ValueError

如果 method 不在支持的选项中。

实例

>>> G = nx.path_graph(5)
>>> nx.average_shortest_path_length(G)
2.0

对于断开连接的图,可以计算每个组件的平均最短路径长度

>>> G = nx.Graph([(1, 2), (3, 4)])
>>> for C in (G.subgraph(c).copy() for c in nx.connected_components(G)):
...     print(nx.average_shortest_path_length(C))
1.0
1.0