pub fn execute<W, E: Edge<W>, G>(mut self, graph: &G) -> Vec<Vec<usize>>
    where
        G: provide::Graph<W, E, DirectedEdge> + provide::Vertices + provide::Neighbors,
    {
        for virt_id in 0..graph.vertex_count() {
            if self.index_of[virt_id].is_pos_infinite() {
                self._execute(graph, virt_id);
            }
        }

        self.scc
    }
/// Finds connected components of a directed graph.
///
/// # Arguments
/// `graph`: Graph to search for its connected components.
///
/// # Returns
/// Connected components of the graph. \
/// Returned value will be vector of vectors. Each vector contains ids of vertices that are in a component.
Finds connected components of a directed graph.
Finds connected components of a directed graph .
pub fn execute<W, E: Edge<W>, G>(mut self, graph: &G) -> Vec<Vec<usize>>
    where
        G: provide::Graph<W, E, DirectedEdge> + provide::Vertices + provide::Neighbors,
    {
        for virt_id in 0..graph.vertex_count() {
            if self.index_of[virt_id].is_pos_infinite() {
                self._execute(graph, virt_id);
            }
        }
        self.scc
    }
pub fn execute < W , E : Edge < W > , G > ( mut self , graph : & G ) -> Vec < Vec < usize > > where G : provide :: Graph < W , E , DirectedEdge > + provide :: Vertices + provide :: Neighbors , { for virt_id in 0 .. graph . vertex_count ( ) { if self . index_of [ virt_id ] . is_pos_infinite ( ) { self . _execute ( graph , virt_id ) ; } } self . scc }
Finds connected components of a directed graph.
Finds connected components of a directed graph .
mut self
graph
&G
Connected components of the graph. \
Returned value will be vector of vectors. Each vector contains ids of vertices that are in a component.
Connected components of the graph . \ Returned value will be vector of vectors . Each vector contains ids of vertices that are in a component .
mut self
graph
&G