1个不稳定版本

0.5.0 2024年5月19日

#3 in #空间高效

GPL-3.0-only

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