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
节点集是否位于G
,d(s, t)
最短的路从s
到t
和n
是中的节点数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