networkx.all_pairs_bellman_ford_path_length

networkx.all_pairs_bellman_ford_path_length(G, cutoff=None, weight='weight')[source]

Compute shortest path lengths between all nodes in a weighted graph.

Parameters:

G : NetworkX graph

weight: string, optional (default=’weight’)

Edge data key corresponding to the edge weight

cutoff : integer or float, optional

Depth to stop the search. Only paths of length <= cutoff are returned.

Returns:

distance : iterator

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

Notes

Edge weight attributes must be numerical. Distances are calculated as sums of weighted edges traversed.

The dictionary returned only has keys for reachable node pairs.

Examples

>>> G = nx.path_graph(5)
>>> length = dict(nx.all_pairs_bellman_ford_path_length(G))
>>> length[1][4]
3
>>> length[1]
{0: 1, 1: 0, 2: 1, 3: 2, 4: 3}