#queue #hash #minimizer #monotone #constant-time #order

minimizer-queue

使用单调队列快速计算最小化器

6 个稳定版本

1.2.3 2024年6月25日
1.2.2 2024年6月7日
1.2.0 2024年6月4日
1.1.0 2024年6月4日
1.0.0 2024年5月29日

#1048数据结构

每月 33 次下载
用于 minimizer-iter

MIT 许可证

16KB
287

minimizer-queue

crates.io docs

使用单调队列快速计算最小化器。

特性

  • 以摊销常数时间插入
  • 常数时间查找
  • 跟踪最小化器的相对位置
  • 支持自定义 hasher,默认使用 wyhash
  • 可以设置种子以生成不同的排序
  • 使用 strength_reduce 优化模运算

示例用法

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

依赖

~85KB