問題タブ [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 - リレーショナル代数における「シータ結合」の明確な説明?

リレーショナル代数におけるシータ結合の概念の明確で基本的な説明と、その使用法を説明するための例 (おそらく SQL を使用) を探しています。

私が正しく理解している場合、シータ結合は条件が追加された自然結合です。したがって、自然結合は同じ名前の属性間で同等性を強制しますが (重複を削除しますか?)、シータ結合は同じことを行いますが、追加します状態で。私はこれの権利を持っていますか?簡単な言葉で(非数学者にとって)明確な説明をいただければ幸いです。

また(最後にこれを入れて申し訳ありませんが、関連するものです)、誰かがデカルト積の重要性または考え方を説明できますか?基本的な概念に関して何かが欠けていると思います。なぜなら、それは基本的な事実、つまり 13 のセット X 4 のセット = 52 を言い換えているように思えるからです...

0 投票する
4 に答える
14399 参照

cartesian-product - デカルト積がリレーショナル代数でどのように機能するかを誰か説明してもらえますか

ここで言う

選択と外積

クロス積は、評価するのに最もコストのかかる演算子です。入力リレーションに N 行と M 行がある場合、結果には NM 行が含まれます。したがって、外積演算子を適用する前に、両方のオペランドのサイズを減らすために最善を尽くすことが非常に重要です。

2 つの関係があるとします。

最初のリレーションは Student と呼ばれ、3 つの属性を持つため、

2番目の関係は大学で、3つの属性があります

リレーションごとに 3 つの行があるため、外積演算を適用すると、3*3 = 9 行のリレーションが得られます。

よくわかりませんが、なぜ 3 ではなく 9 なのですか?

最終的な関係はありません

これまた3列じゃない?

ありがとう

0 投票する
7 に答える
8634 参照

java - Javaでデカルト積を生成するにはどうすればよいですか?

私はいくつかのオブジェクトを持っており、それぞれが異なる長さを持つことができますArrayListArrayList次の例のように順列を生成する必要があります。

私が2つ持っているとしましょうArrayList

ArrayListA にはオブジェクトa、オブジェクトがbあり、オブジェクトc
ArrayListB にはオブジェクトd、オブジェクトがありますe

次に、出力はArrayList次の組み合わせで6つの新しいものになります。

コンビネーション1オブジェクトaとオブジェクトd
コンビネーション2オブジェクトaとオブジェクトe
コンビネーション3オブジェクトbとオブジェクトd
コンビネーション4オブジェクトbとオブジェクトe
コンビネーション5オブジェクトcとオブジェクトd
コンビネーション6オブジェクトcとオブジェクトe

誰か助けてもらえますか?

0 投票する
1 に答える
7850 参照

oracle - Oracle CBO が「マージ結合デカルト」操作の実行を選択するのはいつですか?

ときどき、オラクルはMERGE JOIN CARTESIAN通常の よりも操作を好むようMERGE JOINです。データを把握し、具体的な実行計画を見ると、結合されたエンティティの 1 つが手元のクエリで正確に 1 つのレコードのみを返すことができるため、通常、この操作は問題にならないことがわかります。

ただし、歴史的な理由から、DBA はデカルト積を一般的に嫌っています。

したがって、私はこれらのケースをよりよく分析し、私の議論で文書化してバックアップしたいと考えています. MERGE JOIN CARTESIANOracle が(または同様の) 操作を好むケースを理解できる、クエリ変換と CBO に関する公式の Oracle ドキュメントはありますか?

この場合、Oracle 11g (11.2.0.2.0) を使用しています。

更新

これらは同様の質問ですが、オラクルが通常よりも好む理由時期を説明していません。MJCMERGE JOIN

0 投票する
3 に答える
4480 参照

racket - DrRacket結合リスト

私は誰かが私を正しい方向に導いてくれることを望んでいました:私は2つのリストのアイテムのすべての可能な組み合わせを生成することを探しています:
例:
リスト'(symbol1 symbol2)と'(1 2)が与えられた場合、私は生成しようとしています
:( list(list'symbol1 1)(list' symbol1 2)(list'symbol2 1)(list symbol2 2))

これまでの私のコードは次のとおりです。

これは明らかに機能しておらず、私が試した他のいくつかの方法でもありません。2つのリストで暗黙の再帰を処理するのに問題があります-何かアイデアはありますか?

0 投票する
2 に答える
28922 参照

python - 2つのリスト要素のすべての可能なペアをpythonし、そのペアのインデックスを取得する

2 つのリストがあるとします。

したがって、これらのリスト メンバーのペアを 9 つ持つことができます。

さて、上記のような 2 つのリスト メンバーが与えられた場合、ペアのインデックスを見つけることができますか? 上記の (1,4) のように、最初のペアになります。

0 投票する
2 に答える
504 参照

php - デカルト積関数のこのObjective-C実装を完了するにはどうすればよいですか?

ここでの私の質問のフォローアップとして、次のPHP関数をObjective-Cに実装しようとしています。これにより、デカルト積が生成されます。

これが私がこれまでに持っているものです:

配列への内部ポインタを参照する方法がわからないため、PHPや関数にnext相当currentするものをコーディングしようとすると迷子になります。reset

コードの最後のブロックを実装して同等の関数を取得するにはどうすればよいですか?

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句にすべての組み合わせが必要です(ロンドン-ベルリン、バルセロナ-ベルリン、ミラノ-ベルリン、パリ-ベルリン)。