INNER CODE UNIT · Rust

bfs

rlaope/estudy · site/graph/crates/graph-wasm/src/lib.rs:364

fn bfs(g: &Graph, seeds: &[u32], depth: u32, skip_root: bool) -> Vec<u32> {
    let n = g.offsets.len().saturating_sub(1);
    let mut seen = vec![false; n];
    let mut out = Vec::new();
    for &s in seeds {
        if (s as usize) < n && !seen[s as usize] {
            seen[s as usize] = true;
            out.push(s);
        }
    }
    let mut start = 0;
    for _ in 0..depth {
        let end = out.len();
        if start == end {
            break;
        }
        for i in start..end {
            let u = out[i];

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…