pub struct AlternatingTreeNode {
pub root: PrimalNodeInternalWeak,
pub parent: Option<(PrimalNodeInternalWeak, DualNodeWeak)>,
pub children: Vec<(PrimalNodeInternalWeak, DualNodeWeak)>,
pub depth: usize,
pub tree_size: Option<NonZeroUsize>,
}Fields§
§root: PrimalNodeInternalWeakthe root of an alternating tree
parent: Option<(PrimalNodeInternalWeak, DualNodeWeak)>the parent in the alternating tree, note that root doesn’t have a parent; together with a child of blossom that touches parent, used to create blossom and expand perfect matching
children: Vec<(PrimalNodeInternalWeak, DualNodeWeak)>the children in the alternating tree, note that odd depth can only have exactly one child; together with a child of blossom that touches each child node in the tree, used to create blossom and expand perfect matching
depth: usizethe depth in the alternating tree, root has 0 depth
tree_size: Option<NonZeroUsize>the number of children in the tree; only the root has this variable.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AlternatingTreeNode
impl !RefUnwindSafe for AlternatingTreeNode
impl Send for AlternatingTreeNode
impl Sync for AlternatingTreeNode
impl Unpin for AlternatingTreeNode
impl !UnwindSafe for AlternatingTreeNode
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§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> 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