root_of_scc

inline node_type libsemigroups::ActionDigraph::root_of_scc(node_type nd) const

Returns the root of a strongly connected components containing a given node.

Complexity

At most \(O(mn)\) where m is nr_nodes() and n is out_degree().

Parameters

nd – a node.

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 label lbl. If an exception is thrown, this might be modified but is guaranteed to be in a valid state (basic exception guarantee).

Returns

The root of the scc containing the node nd, a value of ActionDigraph::node_type.