Note

This is the documentation for the current state of the development branch of rustworkx. The documentation or APIs here can change prior to being released.

rustworkx.digraph_dijkstra_shortest_paths#

digraph_dijkstra_shortest_paths()#

Find the shortest path from a node

This function will generate the shortest path from a source node using Dijkstra’s algorithm.

Parameters:
  • graph (PyDiGraph) –

  • source (int) – The node index to find paths from

  • target (int) – An optional target path to find the path

  • weight_fn – An optional weight function for an edge. It will accept a single argument, the edge’s weight object and will return a float which will be used to represent the weight/cost of the edge

  • default_weight (float) – If weight_fn isn’t specified this optional float value will be used for the weight/cost of each edge.

  • as_undirected (bool) – If set to true the graph will be treated as undirected for finding the shortest path.

Returns:

Dictionary of paths. The keys are destination node indices and the dict values are lists of node indices making the path.

Return type:

dict

Raises:

ValueError – when an edge weight with NaN or negative value is provided.