networkx.algorithms.shortest_paths.unweighted.single_source_shortest_path

single_source_shortest_path(G, source, cutoff=None)[source]

Compute shortest path between source and all other nodes reachable from source.

Parameters
  • G (NetworkX graph)

  • source (node label) – Starting node for path

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

Returns

lengths – Dictionary, keyed by target, of shortest paths.

Return type

dictionary

Examples

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

Notes

The shortest path is not necessarily unique. So there can be multiple paths between the source and each target node, all of which have the same ‘shortest’ length. For each target node, this function returns only one of those paths.

See also

shortest_path()