![]() |
Vcsn
2.0
Be Rational
|
Use Tarjan's algorithm to find all strongly connected components. More...
#include <scc.hh>
Public Types | |
| using | state_t = state_t_of< Aut > |
| using | component_t = detail::component_t< Aut > |
| using | components_t = detail::components_t< Aut > |
Public Member Functions | |
| scc_tarjan_impl (const Aut &aut) | |
| const components_t | components () |
Private Member Functions | |
| void | dfs (state_t s, const Aut &aut) |
Private Attributes | |
| std::size_t | curr_comp_num_ = 0 |
| The current component number. More... | |
| std::size_t | curr_vertex_num_ = 0 |
| The current visited vertex. More... | |
| components_t | components_ |
| All compnents. More... | |
| std::set< state_t > | marked_ |
| List visited vertices. More... | |
| std::unordered_map< state_t, std::size_t > | low_ |
| low_[s] is minimum of vertex that it can go More... | |
| std::stack< state_t > | stack_ |
| Contains list vertices same the component. More... | |
Use Tarjan's algorithm to find all strongly connected components.
| using vcsn::detail::scc_tarjan_impl< Aut >::component_t = detail::component_t<Aut> |
| using vcsn::detail::scc_tarjan_impl< Aut >::components_t = detail::components_t<Aut> |
| using vcsn::detail::scc_tarjan_impl< Aut >::state_t = state_t_of<Aut> |
|
inline |
Definition at line 40 of file scc.hh.
References vcsn::detail::scc_tarjan_impl< Aut >::dfs(), vcsn::has(), and vcsn::detail::scc_tarjan_impl< Aut >::marked_.
|
inline |
Definition at line 47 of file scc.hh.
References vcsn::detail::scc_tarjan_impl< Aut >::components_.
Referenced by vcsn::scc().
|
inlineprivate |
Definition at line 53 of file scc.hh.
References vcsn::detail::scc_tarjan_impl< Aut >::components_, vcsn::detail::scc_tarjan_impl< Aut >::curr_comp_num_, vcsn::detail::scc_tarjan_impl< Aut >::curr_vertex_num_, vcsn::has(), vcsn::detail::scc_tarjan_impl< Aut >::low_, vcsn::detail::scc_tarjan_impl< Aut >::marked_, and vcsn::detail::scc_tarjan_impl< Aut >::stack_.
Referenced by vcsn::detail::scc_tarjan_impl< Aut >::scc_tarjan_impl().
|
private |
All compnents.
Definition at line 94 of file scc.hh.
Referenced by vcsn::detail::scc_tarjan_impl< Aut >::components(), and vcsn::detail::scc_tarjan_impl< Aut >::dfs().
|
private |
The current component number.
Definition at line 90 of file scc.hh.
Referenced by vcsn::detail::scc_tarjan_impl< Aut >::dfs().
|
private |
The current visited vertex.
Definition at line 92 of file scc.hh.
Referenced by vcsn::detail::scc_tarjan_impl< Aut >::dfs().
|
private |
low_[s] is minimum of vertex that it can go
Definition at line 98 of file scc.hh.
Referenced by vcsn::detail::scc_tarjan_impl< Aut >::dfs().
|
private |
List visited vertices.
Definition at line 96 of file scc.hh.
Referenced by vcsn::detail::scc_tarjan_impl< Aut >::dfs(), and vcsn::detail::scc_tarjan_impl< Aut >::scc_tarjan_impl().
|
private |
Contains list vertices same the component.
Definition at line 100 of file scc.hh.
Referenced by vcsn::detail::scc_tarjan_impl< Aut >::dfs().