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.
- parallelA networkx backend that uses joblib to run graph algorithms in parallel. Find the nx-parallel’s configuration guide here
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’sParallel
function to execute these computations in parallel acrossn_jobs
number of 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 theG.nodes
inton_jobs
number of chunks.
[Source]