graph :: Digraph :: eulerian_path
start
that visits every edge exactly once.var g = new HashDigraph[Int]
g.add_arc(1, 2)
g.add_arc(2, 3)
g.add_arc(3, 4)
assert g.eulerian_path(1) == [1, 2, 3, 4]
# Build a path (or circuit) from the vertex `start` that visits every edge exactly once.
#
# ~~~
# var g = new HashDigraph[Int]
# g.add_arc(1, 2)
# g.add_arc(2, 3)
# g.add_arc(3, 4)
# assert g.eulerian_path(1) == [1, 2, 3, 4]
# ~~~
fun eulerian_path(start: V): Array[V]
do
var visited = new HashDigraph[V]
visited.add_graph(self)
return visited.remove_eulerian_path(start)
end
lib/graph/digraph.nit:509,2--523,4