has_eulerian_path {igraph} | R Documentation |
Find Eulerian paths or cycles in a graph
Description
has_eulerian_path()
and has_eulerian_cycle()
checks whether there
is an Eulerian path or cycle in the input graph. eulerian_path()
and
eulerian_cycle()
return such a path or cycle if it exists, and throws
an error otherwise.
Usage
has_eulerian_path(graph)
has_eulerian_cycle(graph)
eulerian_path(graph)
eulerian_cycle(graph)
Arguments
graph |
An igraph graph object |
Details
has_eulerian_path()
decides whether the input graph has an Eulerian
path, i.e. a path that passes through every edge of the graph exactly
once, and returns a logical value as a result. eulerian_path()
returns
a possible Eulerian path, described with its edge and vertex sequence, or
throws an error if no such path exists.
has_eulerian_cycle()
decides whether the input graph has an Eulerian
cycle, i.e. a path that passes through every edge of the graph exactly
once and that returns to its starting point, and returns a logical value as
a result. eulerian_cycle()
returns a possible Eulerian cycle, described
with its edge and vertex sequence, or throws an error if no such cycle exists.
Value
For has_eulerian_path()
and has_eulerian_cycle()
, a logical
value that indicates whether the graph contains an Eulerian path or cycle.
For eulerian_path()
and eulerian_cycle()
, a named list with two
entries:
epath |
A vector containing the edge ids along the Eulerian path or cycle. |
vpath |
A vector containing the vertex ids along the Eulerian path or cycle. |
See Also
Graph cycles
feedback_arc_set()
,
girth()
,
is_acyclic()
,
is_dag()
Examples
g <- make_graph(~ A - B - C - D - E - A - F - D - B - F - E)
has_eulerian_path(g)
eulerian_path(g)
has_eulerian_cycle(g)
try(eulerian_cycle(g))