#集合 #无序 #大小 #插入 #元素 #集合

smolset

"一种针对小型数据集优化的无序集合。这是原始库的分支,内部结构经过全面重构,性能更优(O(1) 插入和查找)并增加了更多功能!"

6个稳定版本

使用旧的Rust 2015

1.3.1 2021年9月3日
1.3.0 2021年6月6日
1.2.0 2021年5月20日
1.1.0 2020年8月19日

#780数据结构中排名

Download history · Rust 包仓库 422/week @ 2024-03-14 · Rust 包仓库 301/week @ 2024-03-21 · Rust 包仓库 222/week @ 2024-03-28 · Rust 包仓库 153/week @ 2024-04-04 · Rust 包仓库 283/week @ 2024-04-11 · Rust 包仓库 442/week @ 2024-04-18 · Rust 包仓库 321/week @ 2024-04-25 · Rust 包仓库 652/week @ 2024-05-02 · Rust 包仓库 568/week @ 2024-05-09 · Rust 包仓库 540/week @ 2024-05-16 · Rust 包仓库 679/week @ 2024-05-23 · Rust 包仓库 424/week @ 2024-05-30 · Rust 包仓库 925/week @ 2024-06-06 · Rust 包仓库 293/week @ 2024-06-13 · Rust 包仓库 654/week @ 2024-06-20 · Rust 包仓库 468/week @ 2024-06-27 · Rust 包仓库

2,423每月下载量
4crate中使用(2个直接使用)

MIT许可证

24KB
547

SmolSet

Crate

此crate通过使用smallvec实现了一个小型无序集合数据结构。它最初将集合元素存储在一个简单的无序数组中。当集合的大小小于可配置的大小时,不会进行分配。因此,对于只有几个元素的小型集合,这种数据结构在空间效率上非常高,比基于树或哈希表的集合数据结构更高效。当集合较小时,它也很快:查询和插入执行线性扫描,这比在树中通过指针追踪搜索更缓存友好。

然而,随着集合的增长,它将内部转换为std::collections::HashSet

注意

这是原始库的分支:[rust-smallset](https://github.com/cfallin/rust-smallset)。我已经完全重写了内部结构,以避免这种糟糕的回退模式,并添加了更多功能(及其测试和文档)。

依赖关系

~74KB