pub struct UnionFind<'a, T = ()> { /* private fields */ }
Expand description
素集合の統合と所属の判定ができるデータ構造。
Implementations§
Source§impl<'a, T> UnionFind<'a, T>
impl<'a, T> UnionFind<'a, T>
Sourcepub fn with_values(values: Vec<T>, merge: Box<impl 'a + Fn(T, T) -> T>) -> Self
pub fn with_values(values: Vec<T>, merge: Box<impl 'a + Fn(T, T) -> T>) -> Self
大きさ1
の集合を|values|
個用意する。このとき、各集合i
にvalue[i]
を割り当てる。
merge
は、集合を統合する際に、新しい集合に割り当てる値を返す。
Sourcepub fn count_groups(&self) -> usize
pub fn count_groups(&self) -> usize
素集合の個数を返す。
Sourcepub fn get_groups(&self) -> Vec<Vec<usize>>
pub fn get_groups(&self) -> Vec<Vec<usize>>
素集合をすべて列挙する。
Auto Trait Implementations§
impl<'a, T> Freeze for UnionFind<'a, T>
impl<'a, T = ()> !RefUnwindSafe for UnionFind<'a, T>
impl<'a, T = ()> !Send for UnionFind<'a, T>
impl<'a, T = ()> !Sync for UnionFind<'a, T>
impl<'a, T> Unpin for UnionFind<'a, T>where
T: Unpin,
impl<'a, T = ()> !UnwindSafe for UnionFind<'a, T>
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