pub fn components<'a, G: Graph>(graph: &'a G) -> Components<'a, G>Expand description
Returns the connected components of a Graph as an Adjacency.
use std::convert::TryFrom;
use gamma::graph::{ Graph, Error, DefaultGraph };
use gamma::selection::components;
fn main() -> Result<(), Error> {
let graph = DefaultGraph::try_from(vec![
vec![ 1 ],
vec![ 0 ],
vec![ ]
])?;
let mut c1 = DefaultGraph::new();
let mut c2 = DefaultGraph::new();
c1.add_node(0)?;
c1.add_node(1)?;
c1.add_edge(0, 1)?;
c2.add_node(2)?;
assert_eq!(components(&graph).collect::<Vec<_>>(), vec![ c1, c2 ]);
Ok(())
}