1 个不稳定版本

0.1.0 2021 年 7 月 10 日

#1712数据结构

MIT 许可证

18KB
252

graphalgs

描述

MexSet 数据结构是对一个能够快速找到 MEX 的集合的实现。

MEX(最小排除值)是自然数集合的一个子集的最小排除的自然数。也就是说,它是补集的最小值。

用法

作为库

use mexset::MexSet;

let mut set: MexSet<u32> = MexSet::new();
assert_eq!(set.minimum_excluded(), 0);   // The MEX of an empty set is 0

set.insert(2); 
set.insert(1);
assert_eq!(set.minimum_excluded(), 0);   // 0 is the smallest missing number

set.insert(0);
assert_eq!(set.minimum_excluded(), 3);   // mex({0, 1, 2}) = 3

set.insert(4);
assert_eq!(set.minimum_excluded(), 3);   // mex({0, 1, 2, 4}) = 3

set.insert(3);
assert_eq!(set.minimum_excluded(), 5);   // mex({0, 1, 2, 3, 4}) = 5

set.remove(&1);
assert_eq!(set.minimum_excluded(), 1);  // mex({0, 2, 3, 4}) = 1

如果您有任何评论或建议,或者您突然发现了一个错误,请发起一个新的问题或池请求。

依赖关系

~490KB