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

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

Required Methods§

source

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

Creates a range-based degree partition of the nodes.

Divide the nodes into concurrency number of ranges such that these ranges have roughly equal total degree. That is, the sum of the 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, U> DegreePartitionOp<NI, EV> for Uwhere NI: Idx, U: Graph<NI> + UndirectedDegrees<NI> + UndirectedNeighborsWithValues<NI, EV>,