Note

This documents the development version of NetworkX. Documentation for the current release can be found here.

networkx.algorithms.shortest_paths.weighted.bellman_ford_path¶

bellman_ford_path(G, source, target, weight='weight')[source]

Returns the shortest path from source to target in a weighted graph G.

Parameters
• G (NetworkX graph)

• source (node) – Starting node

• target (node) – Ending node

• weight (string, optional (default=’weight’)) – Edge data key corresponding to the edge weight

Returns

path – List of nodes in a shortest path.

Return type

list

Raises
• NodeNotFound – If source is not in G.

• NetworkXNoPath – If no path exists between source and target.

Examples

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


Notes

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