pub struct DeterministicLocalKCut { /* private fields */ }Expand description
Deterministic Local K-Cut algorithm
Implements the LocalKCutOracle trait using a deterministic BFS-based exploration strategy. The algorithm:
- Starts BFS from seed vertices
- Explores outward layer by layer
- Tracks boundary size at each layer
- Returns the smallest cut found ≤ budget
§Determinism
The algorithm is completely deterministic:
- BFS order determined by vertex ID ordering
- Seed selection based on deterministic family generator
- No random sampling or probabilistic choices
§Time Complexity
O(radius * (|V| + |E|)) for a single query in the worst case, but typically much faster due to early termination.
Implementations§
Source§impl DeterministicLocalKCut
impl DeterministicLocalKCut
Sourcepub fn with_family_generator(
max_radius: usize,
family_generator: DeterministicFamilyGenerator,
) -> Self
pub fn with_family_generator( max_radius: usize, family_generator: DeterministicFamilyGenerator, ) -> Self
Trait Implementations§
Source§impl Clone for DeterministicLocalKCut
impl Clone for DeterministicLocalKCut
Source§fn clone(&self) -> DeterministicLocalKCut
fn clone(&self) -> DeterministicLocalKCut
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DeterministicLocalKCut
impl Debug for DeterministicLocalKCut
Source§impl Default for DeterministicLocalKCut
impl Default for DeterministicLocalKCut
Source§impl LocalKCutOracle for DeterministicLocalKCut
impl LocalKCutOracle for DeterministicLocalKCut
Source§fn search(&self, graph: &DynamicGraph, query: LocalKCutQuery) -> LocalKCutResult
fn search(&self, graph: &DynamicGraph, query: LocalKCutQuery) -> LocalKCutResult
Search for a local minimum cut satisfying the query Read more
Auto Trait Implementations§
impl Freeze for DeterministicLocalKCut
impl RefUnwindSafe for DeterministicLocalKCut
impl Send for DeterministicLocalKCut
impl Sync for DeterministicLocalKCut
impl Unpin for DeterministicLocalKCut
impl UnwindSafe for DeterministicLocalKCut
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more