traversegraph

Function traversegraph 

Source
pub fn traversegraph<T, S>(
    graph: &S,
    start: usize,
    directed: bool,
    order: &str,
    return_predecessors: bool,
) -> SparseResult<(Vec<usize>, Option<Array1<isize>>)>
where T: Float + Debug + Copy + 'static, S: SparseArray<T>,
Expand description

Perform graph traversal from a starting vertex

§Arguments

  • graph - The graph as a sparse matrix
  • start - Starting vertex
  • directed - Whether the graph is directed
  • order - Traversal order (BFS or DFS)
  • return_predecessors - Whether to return predecessor information

§Returns

A tuple containing:

  • Traversal order as a vector of vertex indices
  • Optional predecessor array

§Examples

use scirs2_sparse::csgraph::traversegraph;
use scirs2_sparse::csr_array::CsrArray;

// Create a simple graph
let rows = vec![0, 1, 1, 2];
let cols = vec![1, 0, 2, 1];
let data = vec![1.0, 1.0, 1.0, 1.0];
let graph = CsrArray::from_triplets(&rows, &cols, &data, (3, 3), false).unwrap();

// Perform BFS from vertex 0
let (order, _) = traversegraph(&graph, 0, false, "bfs", false).unwrap();