問題タブ [transitive-closure]
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 - 推移閉包を適用して一意の番号のリストを作成する
次のようなタプルのリストがあります(各タプルは2つの数字で構成されています):
これらの数値はいくつかの db オブジェクト (レコード) の ID であり、タプル内には重複オブジェクトの ID があるとしましょう。これは、1 と 2 が重複していることを意味します。1 と 3 は重複しているため、2 と 3 も重複しています。
a == b かつ b == c の場合、a == c
ここで、これらすべての重複オブジェクト ID を次のように 1 つのタプルにマージしたいと考えています。
ループと冗長マッチを使用してこれを実行できることはわかっています。処理/計算が少ない(ある場合)より良いソリューションが欲しいだけです。
prolog - プロローグ: 単純な事実の推移性をチェックする
私の意図は、Prolog で推移性の簡単な例を (自分用に) 実装することでした。
これらは私の事実です:
私はこの述語を書いて、 trusts かどうかを確認A
しました。C
B
C
A
B
述語はたとえばtrue
fortrusts(p1, p2)
またはを返しますが、すでに を返しています。trusts(p1, p5)
trusts(p5, p6)
ERROR: Out of local stack
Prolog はスタックをこれほど速くフラッディングしますか?
または、私のアイデア/実装がtrusts
悪い/無駄なシステムメモリですか?