【发布时间】:2013-02-05 17:42:13
【问题描述】:
我正在尝试在 powerset 中找到 n-th 集。 n-th 我的意思是 powerset 是按以下顺序生成的——首先是大小,然后是字典顺序——所以,[a, b, c] 的 powerset 中的集合的索引是:
0 - []
1 - [a]
2 - [b]
3 - [c]
4 - [a, b]
5 - [a, c]
6 - [b, c]
7 - [a, b, c]
在寻找解决方案时,我只能找到一种算法来返回元素列表的第 n 个排列 - 例如,here。
上下文:
我正在尝试检索元素矢量V 的整个幂集,但我需要一次只使用一组。
要求:
- 我只能同时维护两个向量,第一个带有列表中的原始项目,第二个带有
V的powerset中的n-th——这就是我愿意的原因在这里有一个n-th set函数; - 我需要不是在解决方案空间上以线性时间完成 - 这意味着它无法列出所有集合,而他们会选择
n-th一个; - 我最初的想法是使用位来表示位置,并获得我需要的有效映射 - 作为我发布的“不完整”解决方案。
【问题讨论】:
-
你应该包含你理解的
by the n-th set in a powerset,因为集合没有顺序。在从您的回答中推断出什么意思之前,我从未听说过。 -
@phant0m 感谢您的评论!我会添加那个解释。