1个不稳定版本
0.5.0 | 2024年5月19日 |
---|
#3 in #空间高效
6KB
81 行
CMV
Rust实现的《流中区分元素:一本(文本)书的算法》
摘要
给定一个由m个元素组成的数据流A=⟨a1,a2,…,am⟩,其中每个a_i∈[n],区分元素问题是在A中估计不同元素的数量。在过去的四十年中,区分元素一直是理论和实证研究的话题,产生了对它空间最优的算法。然而,所有当前最先进的算法都超出了本科教科书的范围,因为它们依赖于诸如成对独立性和通用哈希函数等概念。我们提出了一种简单、直观、基于抽样的空间高效算法,其描述和证明对于具有基本概率理论知识的本科生来说是可访问的。
如何使用
>$ cmv --help
Rust implementation of Distinct Elements in Streams
Usage: cvm [OPTIONS] <PATHS>...
Arguments:
<PATHS>... The files to use
Options:
-d, --delta <DELTA> Outputs in CSV format
-e, --epsilon <EPSILON> Outputs in JSON format
-h, --help Print help
-V, --version Print version
安装
您可以使用Cargo(Rust的包管理器和构建工具)轻松地安装此包。在继续之前,请确保您已经在系统上安装了Rust和Cargo。如果您尚未安装Rust,您可以从官方Rust网站下载它。
cargo install cmv
... 或者将cmv作为库用于您的项目中
cargo add cmv
贡献
欢迎贡献!请创建一个PR来添加GitHub个人资料。
📝 许可证
本项目采用GPL-3.0许可证。
👨🚀 展示您的支持
如果这个项目对您有帮助,请给它一个⭐️!
依赖项
~1.5–2.2MB
~40K SLoC