Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

average_shortest_path_length

average_shortest_path_length(G, weight=None)[source]

Return the average shortest path length.

The average shortest path length is

\[a =\sum_{s,t \in V} \frac{d(s, t)}{n(n-1)}\]

where \(V\) is the set of nodes in \(G\), \(d(s, t)\) is the shortest path from \(s\) to \(t\), and \(n\) is the number of nodes in \(G\).

Parameters:

G : NetworkX graph

weight : None or string, optional (default = None)

If None, every edge has weight/distance/cost 1. If a string, use this edge attribute as the edge weight. Any edge attribute not present defaults to 1.

Raises:

NetworkXError:

if the graph is not connected.

Examples

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

For disconnected graphs you can compute the average shortest path length for each component: >>> G=nx.Graph([(1,2),(3,4)]) >>> for g in nx.connected_component_subgraphs(G): ... print(nx.average_shortest_path_length(g)) 1.0 1.0