orx-priority-queue 0.3.3

Priority queue traits, d-ary heap implementations having binary heap as a special case.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
pub(crate) trait HeapPositions<N>: Clone {
    fn contains(&self, node: &N) -> bool;
    fn position_of(&self, node: &N) -> Option<usize>;
    fn clear(&mut self);
    fn insert(&mut self, node: &N, position: usize);
    fn remove(&mut self, node: &N);
    fn update_position_of(&mut self, node: &N, position: usize);

    fn is_valid<K>(&self, offset: usize, tree: &[(N, K)]) -> bool;
}

pub(crate) trait HeapPositionsDecKey<N>: HeapPositions<N> {}