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:
- GNetworkX graph
- cutoffinteger, optional
Depth at which to stop the search. Only paths of length at most
cutoff
are returned.
- Returns:
- lengthsiterator
(source, dictionary) iterator with dictionary keyed by target and shortest path length as the key value.
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
Additional backends implement this function
cugraph : GPU-accelerated backend.
- graphblasOpenMP-enabled sparse linear algebra backend.
- Additional parameters:
- chunksizeint or str, optional
Split the computation into chunks; may specify size as string or number of rows. Default “10 MiB”
- parallelParallel backend for NetworkX algorithms
The parallel implementation first divides the nodes into chunks and then creates a generator to lazily compute shortest paths lengths for each node in
node_chunk
, and then employs joblib’sParallel
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 theG.nodes
inton
chunks, wheren
is the number of CPU cores.
[Source]