Trait LargeGraphOps

Source
pub trait LargeGraphOps<N: Node, E: EdgeWeight> {
    // Required methods
    fn parallel_degrees(
        &self,
        config: &ParallelConfig,
    ) -> Result<HashMap<N, usize>>;
    fn iter_edges_chunked(&self, chunk_size: usize) -> LargeGraphIterator<N, E>;
    fn cache_friendly_matrix(&self) -> Result<Vec<Vec<E>>>;
}
Expand description

Optimized graph algorithms trait for large graphs

Required Methods§

Source

fn parallel_degrees(&self, config: &ParallelConfig) -> Result<HashMap<N, usize>>

Parallel computation of node degrees

Source

fn iter_edges_chunked(&self, chunk_size: usize) -> LargeGraphIterator<N, E>

Memory-efficient iteration over edges

Source

fn cache_friendly_matrix(&self) -> Result<Vec<Vec<E>>>

Cache-friendly matrix representation

Implementors§

Source§

impl<N, E, Ix: IndexType + Send + Sync> LargeGraphOps<N, E> for Graph<N, E, Ix>
where N: Clone + Send + Sync + Node, E: Clone + Send + Sync + Zero + Copy + EdgeWeight,