pub trait InDegreePartitionOp<NI, EV>where
    NI: Idx,{
    // Required method
    fn in_degree_partition(&self, concurrency: usize) -> Vec<Range<NI>>;
}
Expand description

Partition the node set based on the in degrees of the nodes.

Required Methods§

source

fn in_degree_partition(&self, concurrency: usize) -> Vec<Range<NI>>

Creates a range-based in degree partition of the nodes.

Divide the nodes into concurrency number of ranges such that these ranges have roughly equal total in degree. That is, the sum of the in degrees of the nodes of each range should be roughly equal to the extent that that’s actually possible. The length of the returned vector will never exceed concurrency.

Implementors§

source§

impl<NI, EV, D> InDegreePartitionOp<NI, EV> for Dwhere NI: Idx, D: Graph<NI> + DirectedDegrees<NI> + DirectedNeighborsWithValues<NI, EV>,