spanning_forest¶
-
inline Forest const &libsemigroups::ActionDigraph::spanning_forest() const¶
Returns a libsemigroups::Forest comprised of spanning trees for each scc of
this
, rooted on the minimum node of that component, with edges oriented away from the root.- Complexity
At most \(O(mn)\) where
m
is nr_nodes() andn
is out_degree().- Parameters
(None)
- Throws
LibsemigroupsException – if it is not the case that every node has exactly out_degree() out-neighbors. In other words, if neighbor() is libsemigroups::UNDEFINED for any node
nd
and any labellbl
. If an exception is thrown,this
might be modified but is guaranteed to be in a valid state (basic exception guarantee).- Returns
A const reference to a libsemigroups::Forest.