pub struct DagMinCutEngine { /* private fields */ }Implementations§
Source§impl DagMinCutEngine
impl DagMinCutEngine
pub fn new(config: MinCutConfig) -> Self
Sourcepub fn build_from_dag(&mut self, dag: &QueryDag)
pub fn build_from_dag(&mut self, dag: &QueryDag)
Build flow graph from DAG
pub fn add_edge(&mut self, from: usize, to: usize, capacity: f64)
Sourcepub fn compute_mincut(&mut self, source: usize, sink: usize) -> MinCutResult
pub fn compute_mincut(&mut self, source: usize, sink: usize) -> MinCutResult
Compute min-cut between source and sink
Sourcepub fn update_edge(&mut self, from: usize, to: usize, new_capacity: f64)
pub fn update_edge(&mut self, from: usize, to: usize, new_capacity: f64)
Dynamic update after edge weight change - O(n^0.12) amortized
Auto Trait Implementations§
impl Freeze for DagMinCutEngine
impl RefUnwindSafe for DagMinCutEngine
impl Send for DagMinCutEngine
impl Sync for DagMinCutEngine
impl Unpin for DagMinCutEngine
impl UnsafeUnpin for DagMinCutEngine
impl UnwindSafe for DagMinCutEngine
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