问题标签 [cartesian-product]

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 投票
4 回答
18594 浏览

sql - 关系代数中“theta join”的清晰解释?

我正在寻找对关系代数中 theta 连接概念的清晰、基本解释,也许还有一个示例(可能使用 SQL)来说明其用法。

如果我理解正确,theta join 是一个添加了条件的自然连接。因此,虽然自然连接强制相同名称的属性之间相等(并删除重复项?),theta join 做同样的事情但添加处于一种状态。我有这个权利吗?任何简单的解释(对于非数学家)将不胜感激。

另外(很抱歉最后把它扔了,但它有点相关),有人可以解释笛卡尔积的重要性或想法吗?我想我在基本概念方面遗漏了一些东西,因为对我来说,这似乎是对一个基本事实的重申,即一组 13 X 一组 4 = 52 ...

0 投票
4 回答
14399 浏览

cartesian-product - 有人可以解释一下笛卡尔积在关系代数中是如何工作的吗

这里

选择和交叉产品

叉积是评估成本最高的算子。如果输入关系有 N 和 M 行,则结果将包含 NM 行。因此,在应用叉积运算符之前尽最大努力减小两个操作数的大小是非常重要的。

假设我们有 2 个关系

第一个关系称为 Student 并具有 3 个属性,因此

第二个关系是大学,又是 3 个属性

每个关系有 3 行,所以在应用叉积运算后,我们将得到一个有 3*3 = 9 行的关系

现在,我不明白,为什么是 9 而不是 3?

最终的关系不会是

这不是又有 3 行吗?

谢谢

0 投票
7 回答
8634 浏览

java - 如何在 Java 中生成笛卡尔积?

我有许多对象,ArrayList每个ArrayList对象都有不同的长度。我需要像下面的例子一样生成排列:

假设我有 2 ArrayList

ArrayListA 有对象a、对象b和对象c
ArrayListB 有对象d、对象e

那么输出应该是 6 个新ArrayList的这些组合:

组合1对象a和对象d
组合2对象a和对象e
组合3对象b和对象d
组合4对象b和对象e
组合5对象c和对象d
组合6对象c和对象e

谁能帮我?

0 投票
1 回答
7850 浏览

oracle - Oracle CBO 何时选择执行“合并加入笛卡尔”操作?

有时,Oracle 似乎更喜欢MERGE JOIN CARTESIAN操作而不是常规的MERGE JOIN. 了解数据并查看具体的执行计划后,我可以看到此操作通常不是问题,因为其中一个连接实体只能返回手头查询中的一条记录。

但是,由于历史原因,我们的 DBA 普遍不喜欢笛卡尔积。

所以我想更好地分析这些案例,并在我的论证中得到文件的支持。是否有任何关于查询转换和 CBO 的官方 Oracle 文档,我可以在其中了解 Oracle 更喜欢MERGE JOIN CARTESIAN(或类似)操作的情况?

在这种情况下,我使用的是 Oracle 11g (11.2.0.2.0)

更新

这些是类似的问题,但它们没有解释为什么何时Oracle 更喜欢MJC常规的MERGE JOIN

0 投票
3 回答
4480 浏览

racket - DrRacket 组合列表

我希望有人能指导我正确的方向:我正在寻找两个产生两个列表中所有可能的项目组合:
示例:
给定列表'(symbol1 symbol2)和'(1 2),我希望产生
:( list (list 'symbol1 1) (list 'symbol1 2) (list 'symbol2 1)(list symbol2 2))

到目前为止,我的代码是:

这显然不起作用,我尝试过的其他一些方法也没有。我在处理两个列表上的隐式递归时遇到问题 - 有什么想法吗?

0 投票
2 回答
28922 浏览

python - python所有可能的2个列表元素对,并获取该对的索引

假设我有两个列表:

所以我可以有 9 对这些列表成员:

现在,给定两个像上面这样的列表成员,我可以找出这对的索引吗?就像上面的 (1,4) 将是第一对。

0 投票
2 回答
504 浏览

php - 如何完成笛卡尔积函数的 Objective-C 实现?

作为我的问题here的后续,我正在尝试在Objective-C中实现以下PHP函数,它将生成一个笛卡尔积:

这是我到目前为止所拥有的:

在尝试编写相当于 PHP和函数的代码时next,我迷失了方向,因为我不知道如何引用指向数组的内部指针。currentreset

如何实现最后一段代码并获得等效功能?

0 投票
4 回答
3492 浏览

javascript - 在 JavaScript 中创建组合

假设我在 Javascript 中有几组选项

什么是一种有效的算法,可以将这些选项的所有组合放在一个看起来像这样的数组中

这是警告

这个函数必须能够接受任意数量的选项集

我有一种感觉,做到这一点的正确方法是通过某种树遍历,但现在完全考虑这一点还为时过早,而且我还没有喝咖啡

0 投票
2 回答
19609 浏览

list - 在 Prolog 中使用列表列表

请帮我解决这个问题:我有一个列表列表

[[1,2],[3,4]]

如何得到:

[1,3]

[1,4]

[2,3]

[2,4]

或者如果我有一个列表列表

[[1,2],[3,4],[6,7]]

如何得到:

[1,3,6]

[1,3,7]

[1,4,6]

[1,4,7]

[2,3,6]

[2,3,7]

[2,4,6]

[2,4,7]

0 投票
2 回答
323 浏览

mysql - 在where子句中的Mysql笛卡尔积

我需要的是 WHERE 子句中的笛卡尔积:

例如,我在一个变量中有城市伦敦、巴塞罗那、米兰、巴黎,在另一个变量中有柏林。我需要 where 子句中的所有组合(伦敦-柏林、巴塞罗那-柏林、米兰-柏林、巴黎-柏林)。