Skip to main content
`Ctrl`+`K`

# single_source_bellman_ford_path_length

single_source_bellman_ford_path_length(G, source, weight='weight')

  Compute the shortest path length between source and all other reachable nodes for a weighted graph.

  Parameters:
    G NetworkX graph
    source node label

      Starting node for path

    weight string or function (default=”weight”)

      If this is a string, then edge weights will be accessed via the edge attribute with this key (that is, the weight of the edge joining `u` to `v` will be `G.edges[u, v][weight]`). If no such edge attribute exists, the weight of the edge is assumed to be one.

      If this is a function, the weight of an edge is the value returned by the function. The function must accept exactly three positional arguments: the two endpoints of an edge and the dictionary of edge attributes for that edge. The function must return a number.

  Returns:
    length dictionary

      Dictionary of shortest path length keyed by target

  Raises:
    NodeNotFound

      If `source` is not in `G`.

  See also

  `single_source_dijkstra`, `single_source_bellman_ford`

  Notes

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

  Examples

      >>> G = nx.path_graph(5)
      >>> length = nx.single_source_bellman_ford_path_length(G, 0)
      >>> length[4]
      4
      >>> for node in [0, 1, 2, 3, 4]:
      ...     print(f"{node}: {length[node]}")
      0: 0
      1: 1
      2: 2
      3: 3
      4: 4