RBGL (version 1.48.1)

sp.between: Dijkstra's shortest paths using boost C++

Description

dijkstra's shortest paths

Usage

sp.between(g,start,finish, detail=TRUE)

Arguments

g
instance of class graph
start
node name(s) for start of path(s)
finish
node name(s) for end of path(s)
detail
if TRUE, output additional info on the shortest path

Value

When start and/or finish are vectors, we use the normal cycling rule in R to match both vectors and try to find the shortest path for each pair.Function sp.between returns a list of info on the shortest paths. Each such shortest path is designated by its starting node and its ending node. Each element in the returned list contains:
length
total length (using edge weights) of this shortest path
,
path_detail
if requested, a vector of names of the nodes on the shortest path
,
length_detail
if requested, a list of edge weights of this shortest path
.See pathWeights for caveats about undirected graph representation.

Details

These functions are interfaces to the Boost graph library C++ routines for Dijkstra's shortest paths.

Function sp.between.scalar is obsolete.

See Also

bellman.ford.sp, dag.sp, dijkstra.sp, johnson.all.pairs.sp

Examples

Run this code

con <- file(system.file("XML/ospf.gxl",package="RBGL"), open="r")
ospf <- fromGXL(con)
close(con)

dijkstra.sp(ospf,nodes(ospf)[6])

sp.between(ospf, "RT6", "RT1")

sp.between(ospf, c("RT6", "RT2"), "RT1", detail=FALSE)

sp.between(ospf, c("RT6", "RT2"), c("RT1","RT5"))

# see NAs for query on nonexistent path
sp.between(ospf,"N10", "N13")

Run the code above in your browser using DataCamp Workspace