Skip to main content

count_reachable

Function count_reachable 

Source
pub fn count_reachable(graph: &Graph) -> IgraphResult<Vec<u32>>
Expand description

Per-vertex count of reachable vertices (including the vertex itself).

Counterpart of igraph_count_reachable(_, _, IGRAPH_OUT) for directed graphs and IGRAPH_ALL for undirected.

ยงExamples

use rust_igraph::{Graph, count_reachable};

// Path 0-1-2-3 undirected: every vertex reaches every vertex.
let mut g = Graph::with_vertices(4);
for i in 0..3 { g.add_edge(i, i + 1).unwrap(); }
assert_eq!(count_reachable(&g).unwrap(), vec![4, 4, 4, 4]);

// Directed chain 0 -> 1 -> 2: 0 reaches all 3, 1 reaches 2, 2 reaches just itself.
let mut g = Graph::new(3, true).unwrap();
g.add_edge(0, 1).unwrap();
g.add_edge(1, 2).unwrap();
assert_eq!(count_reachable(&g).unwrap(), vec![3, 2, 1]);