问题标签 [powerset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 返回包含所有元素的组合
我有一个列表说lis1 = [1,2,3]
和上面列表子集的列表说
我想生成 lis2 的所有组合,以便 lis1 的所有项目都应该出现在组合中。
例如。这是一个有效的组合
一种这样的组合是(其中包含ie的[[1,2],[2,3]]
所有项目)lis1
[1,2,3]
而这不是
我所做的是通过这个函数生成 lis2 的 powerset
但很明显,返回集包含类型的组合
如何检查包含 lis1 的所有项目的组合
recursion - Racket 如何定义像 Python 这样的递归生成器?
这是一种递归算法,用于产生集合的所有子集。等效的 Python 代码是:
结果:
这是我试过的球拍版本:
但它不起作用:
Racket文档中似乎没有相关示例是否可能,如何?
python - 单词组合...功率组?
我正在寻找破解我忘记的密码。我知道密码中可能使用的所有单词,但有些单词可能使用或不使用。示例:HarryMetSally 可能是密码,但我可能会使用“Harry”“Billy”“Sally”和“Met”的单词表来组合破解。
如果我有 16 个单词但可能使用了 14-16 个单词,我将如何在 C++ 或 Python 中编码以将 16 个单词(或 20、25、30 个单词)随机连接在一起并一次使用 1 个或 2-16 个一起使用而不是甚至相同的顺序。
例子:
话:哈利比利莎莉遇见
组合示例:
Harry Billy SallyBilly BillySally HarryMetSally HarrySallyMet
我已经广泛搜索了互联网并尝试了 Excel 论坛。有什么指导吗?
c++ - 使用二进制计数来计算数组的所有子集
所以如果给我一个数组,比如
我们知道给定的子数组(包括不连续的)是(这代表幂集)
我也知道这些子集可以用二进制计数来表示
我知道这种方法可以以某种方式用于生成所有子集,但我不确定如何在 C++ 中实现
所以基本上我要问的是如何(如果可以的话)二进制计数用于生成功率组?
任何其他生成电源组的方法也非常感谢!
c++ - C++中置换、组合和PowerSet的实现
我正在寻找使用 C++ 实现 Permutation、Combination 和 PowerSet
java - java中是否有任何实用程序可以从一组创建电源组?
我有一组 ={1,2,3,4}。我想创建这组的电源组。创建幂集的一种方法是将每个元素作为二进制(0/1)并打印所有可能的组合。
我正在考虑使用java中的一些实用程序/库来做同样的事情。
c++ - 迭代计算集合或向量的幂集
虽然有很多关于如何生成集合的实际幂集的示例,但我找不到任何关于迭代(如std::iterator
)生成幂集的信息。我会欣赏这种算法的原因是我的基集的大小。由于 n 元素集的幂集有 2^n 个元素,因此在实际计算该集时我会很快耗尽内存。那么,有没有办法为给定集合的幂集创建迭代器?甚至可能吗?
- 如果它更容易,创建
int
s 集合的迭代器会很好 - 我可以将它们用作实际集合/向量的索引。 - 当我实际工作时
std::vector
,如果需要,随机访问是可能的
sql - SQL 例程从具有父/子关系的数据生成 Powerset 值
我有一个要求,其中用户是用户将单个项目输入到表中,该表带有一个触发器,该触发器在表中创建有效的组合记录(即 Powerset 或子集)。我面临的挑战是记录可以具有父/子关系,并且在这种情况下,在 2^n 组值中存在无效的子集。
这是一个简化的例子。
数据:
期望的输出:
A
B
C
D
A,B
A,C
B,C
A,D
A,B,C
A,B,D
A,C,D
A,B,C,D
在我意识到数据将具有父/子关系之前,我将使用以下代码:
但是通过这个公用表表达式,我得到了所有 15 种可能的组合,而不仅仅是 12 种有效/所需的组合。
我是一名新手 SQL 程序员,我一直试图找出一个多星期的解决方案,但绝对没有成功。任何帮助将不胜感激(即使它告诉我这是一项不可能完成的任务)。希望我提供了足够的信息,有人可以帮助我。
algorithm - 将项目分组为子集(幂集)
假设我有以下内容:
或稍微重新格式化,以便您可以轻松查看分组:
生成以下分组的最常见或最有效的算法是什么?
快速谷歌搜索后,上面的键似乎代表“电源设置”。所以我计划使用以下 impl:
1) 生成幂集 {{j, b, m}, {j, m}, {j, b} {b, m}, {m}, {j}, {b}} // j = john, b = 鲍勃,米 = 玛丽
2) 生成所有字母的集合:{a, b, c, d, e, f}
3) 遍历子集,对于每个字母,查看字母是否存在于子集的所有元素中
所以...
有更好的解决方案吗?
编辑:上述算法有缺陷。例如,{j, m} 也会包含“a”,这是我不想要的。我想我可以简单地修改它,以便在每次迭代中,我还检查这个字母是否“不在”这个集合中的元素。所以在这种情况下,我还会检查: