Note

This documents the development version of NetworkX. Documentation for the current release can be found here.

networkx.algorithms.shortest_paths.unweighted.all_pairs_shortest_path_length

all_pairs_shortest_path_length(G, cutoff=None)[source]

Computes the shortest path lengths between all nodes in G.

Parameters
  • G (NetworkX graph)

  • cutoff (integer, optional) – Depth at which to stop the search. Only paths of length at most cutoff are returned.

Returns

lengths – (source, dictionary) iterator with dictionary keyed by target and shortest path length as the key value.

Return type

iterator

Notes

The iterator returned only has reachable node pairs.

Examples

>>> G = nx.path_graph(5)
>>> length = dict(nx.all_pairs_shortest_path_length(G))
>>> for node in [0, 1, 2, 3, 4]:
...     print(f"1 - {node}: {length[1][node]}")
1 - 0: 1
1 - 1: 0
1 - 2: 1
1 - 3: 2
1 - 4: 3
>>> length[3][2]
1
>>> length[2][2]
0