Skip to main content

independent_vertex_sets

Function independent_vertex_sets 

Source
pub fn independent_vertex_sets(
    graph: &Graph,
    min_size: u32,
    max_size: u32,
    max_results: Option<usize>,
) -> IgraphResult<Vec<Vec<VertexId>>>
Expand description

Finds all independent vertex sets within a size range.

An independent set is a set of vertices with no edges between them. Returns all independent sets of size min_size..=max_size. If max_results is Some(n), at most n sets are returned.

Edge directions are ignored for directed graphs.

ยงExamples

use rust_igraph::{Graph, independent_vertex_sets};

// Path 0-1-2: independent sets of size 2 are {0,2}
let mut g = Graph::with_vertices(3);
g.add_edge(0, 1).unwrap();
g.add_edge(1, 2).unwrap();
let sets = independent_vertex_sets(&g, 2, 3, None).unwrap();
assert_eq!(sets.len(), 1);
assert_eq!(sets[0], vec![0, 2]);