pub struct WaveletTree { /* private fields */ }Expand description
Wavelet tree for range queries on integer sequences.
Supports range frequency, range nth-smallest, and range quantile all in O(log σ) time where σ is the alphabet size.
Implementations§
Source§impl WaveletTree
impl WaveletTree
Sourcepub fn new(data: &[u64], lo: u64, hi: u64) -> Self
pub fn new(data: &[u64], lo: u64, hi: u64) -> Self
Construct a wavelet tree from a sequence of values in [lo, hi).
Sourcepub fn range_freq(&self, data: &[u64], l: usize, r: usize, v: u64) -> usize
pub fn range_freq(&self, data: &[u64], l: usize, r: usize, v: u64) -> usize
Count occurrences of value v in range [l, r].
Sourcepub fn num_levels(&self) -> usize
pub fn num_levels(&self) -> usize
Number of levels in the tree.
Auto Trait Implementations§
impl Freeze for WaveletTree
impl RefUnwindSafe for WaveletTree
impl Send for WaveletTree
impl Sync for WaveletTree
impl Unpin for WaveletTree
impl UnsafeUnpin for WaveletTree
impl UnwindSafe for WaveletTree
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