1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/paths.R
\name{all_simple_paths}
\alias{all_simple_paths}
\title{List all simple paths from one source}
\usage{
all_simple_paths(
graph,
from,
to = V(graph),
mode = c("out", "in", "all", "total"),
cutoff = -1
)
}
\arguments{
\item{graph}{The input graph.}
\item{from}{The source vertex.}
\item{to}{The target vertex of vertices. Defaults to all vertices.}
\item{mode}{Character constant, gives whether the shortest paths to or
from the given vertices should be calculated for directed graphs. If
\code{out} then the shortest paths \emph{from} the vertex, if \verb{in}
then \emph{to} it will be considered. If \code{all}, the default, then
the corresponding undirected graph will be used, i.e. not directed paths
are searched. This argument is ignored for undirected graphs.}
\item{cutoff}{Maximum length of the paths that are considered. If negative,
no cutoff is used.}
}
\value{
A list of integer vectors, each integer vector is a path from
the source vertex to one of the target vertices. A path is given by its
vertex ids.
}
\description{
This function lists all simple paths from one source vertex to another
vertex or vertices. A path is simple if contains no repeated vertices.
}
\details{
Note that potentially there are exponentially many paths between two
vertices of a graph, and you may run out of memory when using this
function, if your graph is lattice-like.
This function ignores multiple and loop edges.
}
\examples{
g <- make_ring(10)
all_simple_paths(g, 1, 5)
all_simple_paths(g, 1, c(3, 5))
}
\seealso{
Other paths:
\code{\link{diameter}()},
\code{\link{distance_table}()},
\code{\link{eccentricity}()},
\code{\link{graph_center}()},
\code{\link{radius}()}
}
\concept{paths}
\keyword{graphs}
|