Bellman-Ford shortest paths using boost C++
Algorithm for the single-source shortest paths problem for a graph with both positive and negative edge weights.
bellman.ford.sp(g,start=nodes(g)[1])
g |
instance of class graph |
start |
character: node name for start of path |
This function interfaces to the Boost graph library C++ routines for Bellman-Ford shortest paths. Choose the appropriate algorithm to calculate the shortest path carefully based on the properties of the given graph. See documentation on Bellman-Ford algorithm in Boost Graph Library for more details.
A list with elements:
all edges minimized |
true if all edges are minimized, false otherwise. |
distance |
The vector of distances from |
penult |
A vector of indices
(in |
. For example, if the
element one of this vector has value 10
, that means that the
predecessor of node 1
is node 10
. The next predecessor is
found by examining penult[10]
.
start |
The start node that was supplied in the call to
|
Li Long <li.long@isb-sib.ch>
Boost Graph Library ( www.boost.org/libs/graph/doc/index.html )
The Boost Graph Library: User Guide and Reference Manual; by Jeremy G. Siek, Lie-Quan Lee, and Andrew Lumsdaine; (Addison-Wesley, Pearson Education Inc., 2002), xxiv+321pp. ISBN 0-201-72914-8
con <- file(system.file("XML/conn2.gxl",package="RBGL"), open="r") dd <- fromGXL(con) close(con) bellman.ford.sp(dd) bellman.ford.sp(dd,nodes(dd)[2])
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.