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

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 422/week @ 2024-03-14 301/week @ 2024-03-21 222/week @ 2024-03-28 153/week @ 2024-04-04 283/week @ 2024-04-11 442/week @ 2024-04-18 321/week @ 2024-04-25 652/week @ 2024-05-02 568/week @ 2024-05-09 540/week @ 2024-05-16 679/week @ 2024-05-23 424/week @ 2024-05-30 925/week @ 2024-06-06 293/week @ 2024-06-13 654/week @ 2024-06-20 468/week @ 2024-06-27

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

MIT许可证

24KB
547

SmolSet

Crate

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

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

注意

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

依赖关系

~74KB