问题标签 [set-theory]

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.

0 投票
2 回答
133 浏览

arrays - 找到与一组数组相交的最小数组

假设我有三个数组-['a', 'b']和. 如果我要创建第四个数组,该数组与这三个数组相交,并且元素数量最少,那么我得到的数组将是. 我的问题是......我将如何找到这个数组?['b', 'c']['d']['b', 'd']

就像['a', 'b', 'c', 'd']肯定与所有数组相交,但它不是最小的相交 -['b', 'd']是。

有任何想法吗?

0 投票
1 回答
3575 浏览

python - Python 的 itertools.product() 的效率

所以我正在寻找不同的方法来计算n数组的笛卡尔积,我遇到了使用以下代码的相当优雅的解决方案(这里是 SO):

查看python 文档页面(我使用的是 2.7,顺便说一句)itertools.product(),它说代码等效于以下内容:

(它确实注意到以下几点:这个函数相当于下面的代码,除了实际的实现不会在内存中建立中间结果:)

我不是 CS 人——所以我很不擅长估计这个算法的效率。我的第一个猜测是O(n^2)(由于嵌套的 for 循环)。

我错了吗?

0 投票
1 回答
39 浏览

ldap - LDAP 是对底层数据结构施加限制的协议吗?

我对LDAP的理解如下:

  1. LDAP 是一种协议。
  2. OpenLDAP 是 LDAP 的一种实现,它使用 BDB 作为其默认数据存储。但是,OpenLDAP 可以使用任意数量的数据存储之一。
  3. LDAP 还有其他实现。它们每个都有自己的默认数据存储,并且可能支持也可能不支持将该存储换成另一个存储。
  4. 因此,将 LDAP 与 LDAP 实现使用的数据存储区分开来很重要。
  5. 此外,LDAP 中的 D 代表目录。但是,一个目录可以更一般地被认为是一个图——具体来说,一棵树,它有一个根、很多分支,并且分支中没有循环循环。
  6. LDAP 可用于管理树的集合,但不能用于管理直接无环图的集合——或者更广泛地说,不能用于管理其中包含循环的图。

我的理解正确吗?

0 投票
4 回答
96 浏览

java - 剔除集合中的所有重复项

我正在使用 Set 来隔离 List 的唯一值(在这种情况下,我得到了一组点):

这将返回一组唯一点,但对于listToCull中的每个项目,我想测试以下内容:如果有重复项,则剔除所有重复项。换句话说,我希望 pointSet 表示 listToCull 中已经唯一的项目集(pointSet中的每个项目在listToCull中没有重复)。关于如何实施的任何想法?

编辑 - 我认为我的第一个问题需要更多澄清。下面是一些将执行我要求的代码,但我想知道是否有更快的方法。假设 listToCull 是具有重复项的 PVector 列表:

uniqueItemsInListToCull 将不同于 pointSet。如果可能的话,我想在没有循环的情况下做到这一点。

0 投票
3 回答
1024 浏览

java - 该 Java 程序使用迭代将自然数转换为集合论编码。请求递归解决方案的帮助/策略?

我试图更好地理解 ZFC 集合论,特别是计算机程序如何模拟无穷大公理以“构造”自然数。我见过的用于构造自然数的典型符号是:“{”、“}”和“,”。

下面的代码有效,但我希望有一个纯粹的递归解决方案。一个给定一个自然数(这里使用 int),递归地将相应的字符串构建到它的集合论编码中,然后返回它。理想情况下,我希望它能够在不使用任何额外数据结构(如当前使用的字符串数组)的情况下工作。

如果运行时间很慢(指数型)也没关系。使用递归有时会使过程的表达更简单,更简洁/优雅且更易于理解,我非常想看看这种解决方案可能是什么样子,无论性能如何。最终,我想更好地理解数学/数字的基础。我有很多问题,但认为这可能是一个很好的开始方式。谢谢!

0 投票
3 回答
266 浏览

python - 在元组列表上设置理论魔法

在 python 中,我有两个列表AB. 两个列表都由元组组成(x,y)。例如:

现在,我想要三个结果。只要不涉及元组,所有这些都可以用集合论轻松解决。

结果 1:两个列表的交集:) set(A) & set(B)。所以结果应该是比较两个列表的元组的两个值。结果应该是:C = [('x1','y1')]

结果 2:两个列表的交集,只有(x,y)[0]匹配项。结果应该是:D = (('x1','y1'), ('x2', ('y2', 'y5'))]。理想情况下,解决方案是D - C -> E = [('x2', ('y2', 'y5'))],但我可以忍受拥有D自己。

结果 3: listBA:相比的唯一性set(B)-(set(A) & set(B))。仅在 上进行比较(x,y)[0]。结果应该是:[('x4', 'y4')]

我在这些问题上找不到任何东西,也无法自己构建解决方案。任何人都可以帮忙吗?

0 投票
2 回答
352 浏览

algorithm - 将序列划分为可以形成非递减序列的片段的最小切割数

我有 N 个整数,例如 3、1、4、5、2、8、7。可能有一些重复。我想将此序列划分为连续的子序列,以便我们可以从它们形成非递减序列。如何计算最小切割次数?对于上面提到的例子,答案是 6,因为我们可以把这个序列分成 {3}, {1}, {4, 5}, {2}, {7}, {8} 然后形成 {1, 2 , 3, 4, 5, 7, 8}。最快的方法是什么?

假设某些数字可能相等,有谁知道如何解决它?

0 投票
1 回答
67 浏览

c# - 集合论:最大订单限制项目

对于集合论课程来说,这听起来像是一个问题,但在这里。

我们是一家遭受季节性困境的物流商店(这是季节)。我们的主要拣货线正在全力以赴,但我们可以开设第二条较小的拣货线,但物品数量有限。我们可以在二级拣货位置放置40个左右的sku。

问题是,如何选择物品数量限制最多的订单?我可以默认使用前 40 个 sku 和仅包含这些 sku 的订单,这会让我们松一口气。但我想知道是否有更好的优化方法。我们可以使用 SQL 或 C#,所以两者都适合作为答案。

假设一个简单的订单行结构,数量和 productId 分组在 orderId 上,我将从那里翻译......

0 投票
2 回答
468 浏览

database - 关系代数 - 交点属性

这项调查最初是从一个测试问题开始的,我在其中断言

正如我所研究的那样,我无法提供有关关系代数中交集属性的大量信息。

如果这是集合论,我会断言

使用关系代数,我们改为对袋子进行操作。我相信我可以用袋子采取同样的步骤(幂等性似乎微不足道,并且在http://comet.lehman.cuny.edu/stjohn/teaching/db/ullmanSlidesF00/slides7.pdf的第 3 页建议使用关联性),但是我不能完全得到一个正式的证明。

任何人都可以帮助我断言(或通过反例或其他方式反驳)关系代数中交集的关联性和幂等性吗?

非常感谢。

0 投票
2 回答
385 浏览

algorithm - 如何找到覆盖另一个列表中所有元素所需的最少列表数量

我正在使用 Matlab 编写代码,在该代码中,我需要找到覆盖参考列表所有元素所需的最少数量列表(在某些给定列表中)。

例如,假设我的参考列表是

我有一组给定的列表,如下所示:

覆盖中每个元素所需的最少列表数量X2(BC),但是,如果我最初只搜索覆盖最多元素 ( A) 的列表,然后尝试找到将覆盖其余元素的其他列表,我会最终至少使用3列表。编写可以搜索为此所需的最少列表数量的代码的最佳方法是什么(它会给我一个Band的输出C)?任何帮助都将不胜感激......即使只是关于如何最好地解决这个问题的概念解释(不是实际代码)也将是一个巨大的帮助!