Primitive graph traversal helpers.
The crate provides deterministic breadth-first and depth-first traversals that follow the existing adjacency list order.
Examples
use ;
let adjacency = vec!;
assert_eq!;
assert!;
assert_eq!;
Primitive graph traversal helpers.
The crate provides deterministic breadth-first and depth-first traversals that follow the existing adjacency list order.
use use_graph_traversal::{breadth_first_order, connected_component, reachable};
let adjacency = vec![vec![1, 2], vec![3], vec![], vec![]];
assert_eq!(breadth_first_order(&adjacency, 0).unwrap(), vec![0, 1, 2, 3]);
assert!(reachable(&adjacency, 0, 3).unwrap());
assert_eq!(connected_component(&adjacency, 0).unwrap(), vec![0, 1, 2, 3]);