6 stable releases
| 1.2.3 | Jun 25, 2024 |
|---|---|
| 1.2.2 | Jun 7, 2024 |
| 1.2.0 | Jun 4, 2024 |
| 1.1.0 | Jun 4, 2024 |
| 1.0.0 | May 29, 2024 |
#2719 in Data structures
114 downloads per month
Used in 3 crates
(via minimizer-iter)
16KB
287 lines
minimizer-queue
Fast computation of minimizers using a monotone queue.
Features
- insertion in amortized constant time
- lookup in constant time
- keeps track of the relative position of the minimizers
- supports custom hasher, using wyhash by default
- can be seeded to produce a different ordering
- optimized modulo computation with strength_reduce
Example usage
use minimizer_queue::MinimizerQueue;
let mut queue = MinimizerQueue::new(3); // width 3
queue.insert(1);
queue.insert(2);
queue.insert(3);
queue.get_min(); // element with the smallest hash among 1, 2 and 3
queue.insert(4);
queue.get_min(); // element with the smallest hash among 2, 3 and 4
Dependencies
~85KB