all_pairs_shortest_path#

all_pairs_shortest_path(G, cutoff=None)[source]#

Compute shortest paths between all nodes.

Parameters:
GNetworkX graph
cutoffinteger, optional

Depth at which to stop the search. Only paths of length at most cutoff are returned.

Returns:
pathsiterator

Dictionary, keyed by source and target, of shortest paths.

See also

floyd_warshall
all_pairs_all_shortest_paths

Notes

There may be multiple shortest paths with the same length between two nodes. For each pair, this function returns only one of those paths.

Examples

>>> G = nx.path_graph(5)
>>> path = dict(nx.all_pairs_shortest_path(G))
>>> print(path[0][4])
[0, 1, 2, 3, 4]

Additional backends implement this function

cugraph : GPU-accelerated backend.

parallelParallel backend for NetworkX algorithms

The parallel implementation first divides the nodes into chunks and then creates a generator to lazily compute shortest paths for each node_chunk, and then employs joblib’s Parallel function to execute these computations in parallel across all available CPU cores.

Additional parameters:
get_chunksstr, function (default = “chunks”)

A function that takes in an iterable of all the nodes as input and returns an iterable node_chunks. The default chunking is done by slicing the G.nodes into n chunks, where n is the number of CPU cores.

[Source]