問題タブ [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.
.net - 集合論と.NET
最近、私は集合論と集合数学が文字通り私がやっていることと一致する状況に出くわしました (確かに、必要なことを達成するためのより簡単な方法、つまり LINQ がありましたが、当時はそれについて考えていませんでした)。ただし、ジェネリック セット ライブラリについては知りませんでした。確かに、IEnumerables はいくつかの集合操作 (Union など) を提供しますが、交差や集合比較のようなものはありません。誰かがここに当てはまるものを指摘できますか? ジェネリック型を使用してセット演算を実装するものはありますか?
c# - LINQで対称差を見つける
と の 2 つのコレクションがa
ありb
ます。a
または のいずれかでアイテムのセットを計算したいのですがb
、両方 (論理排他的 or) では計算したくありません。LINQ を使用すると、次のようになります。
2 つのコレクションの違いを生み出す、より効率的またはコンパクトな方法が他にあるのではないかと思います。
編集 1: Jon Skeet は、に依存してアイテムの順序を保持しない最初のソリューションを投稿しましたHashSet
。a
出力の順序を保持する他のアプローチがあるのではないかと思いb
ます。
sql - connectbyを使用した再帰SQLサブセットクエリ
私はこのように少し見える2つのテーブルを持っています
2つのDEF_IDが与えられた場合、一方の領域が他方の完全なサブセットであるかどうかをチェックする関数が必要です。私はCONNECTBYとINTERSECTで遊んでいますが、便利な関数ではなく、大きな混乱を書いています。
(比較的)簡単に機能するSQLクエリがあることを期待しています。
php - PHPで集合論演算を実装する
純粋なPHPで集合論演算を実装する方法は?
c# - Where 句でインターフェイスを使用しようとすると、L2E がチョークするのはなぜですか?
かなり複雑なセットベースのフィルタリングが行われている LINQ to Entities クエリ (EF 4 を使用) があります。コードは正常にコンパイルされますが、実行しようとすると次のエラーが発生します。
タイプ 'ITextEntity' の定数値を作成できません。このコンテキストでは、プリミティブ型 (Int32、String、および Guid など) のみがサポートされます。
今コードのために。次のようなインターフェイスがあります。
これらの「テキスト エンティティ」は、 のプロパティを格納するルックアップ テーブルを表すという考え方ですProduct
。Products に色がある場合、すべての赤い Products には TextValue = "Red" の Color エンティティが含まれ、このインターフェイスで装飾された Color エンティティが存在します。
ITextEntities は、 に戻る 1:N または N:N の関係を持つ場合がありますProduct
。
List<IEnumerable<ITextEntity>>
インターフェイスを実装するさまざまなエンティティのセットを含むネストされたコレクション (実際には) がありITextEntity
ます。Product
これらのセットを使用して、半包括的方法で一連の s をフィルター処理したいと考えています。コードは次のとおりです。
だから私がやろうとしていることはこれです:
- フィルタリングしたい製品セットがあります。
- を実装するいくつかのタイプのそれぞれについて
ITextEntity
、そのタイプのエンティティのセット S があります。- 各オブジェクト O には積の集合 OP があります。
- Products 内の各 Product prod、
各セット S、S
内の少なくとも 1 つの O について、
OP には prod が含まれている必要があります。そうでない場合は、Products から prod を削除します。
ご覧のとおり、これはかなり複雑です。
ITextEntity
これは、セット操作の問題ではなく、LINQ が型を操作できないことが原因であると感じています。ただし、上記の複雑さにより、これを使用することが難しくなり、LINQ 以外の代替手段を見つけるのが難しくなります。LINQ を使用できないと、かなり見苦しくなります。
同様の例外について議論している MSDN ページとスタック オーバーフロー スレッドを見つけましたが、どちらもあまり役に立ちませんでした。別の SO スレッドは、私のメソッドの使用法を指し示していますが、ここでは複雑であるため、 BuildOrExpressionContains
メソッドに置き換えようとしてもうまくいきませんでした。これは EF 4 であり、サポートされるはずなので、とにかく BuildOrExpression が機能するとは思えません。Contains
だから私はむしろここで立ち往生しています。誰でもアドバイスできますか?
編集: この質問は 2010 年 8 月に回答されましたが、タイトルと説明を整理するために戻ってきました。
algorithm - 重複セットの検索
C# でデジタル ファウンテンシステムを作成しています。このシステムの一部は、整数のセットを作成します。作成するセットの組み合わせを見つけて、1 つのアイテムだけのセットを残すことができるようにする必要があります。これを行う最速の方法は何ですか?
すべての組み合わせを見つける必要はありません。できるだけ多くの一意の数字を見つけることができれば十分です。これを利用して、より効率的なアルゴリズムを作成できる可能性があります。
忘れていた重要なポイント: 事前にセット数がわからないため、1 つずつ追加し、必要な数がすべて見つかったかどうかを毎回判断する必要があります。したがって、アルゴリズムは、新しいセットが追加されたときに段階的に実行できるものでなければなりません。
注意 C# のソリューションはボーナス マークを取得します ;)
javascript - カスタム(集合論)Complements()関数によって配列データが何らかの形で破損していますか?
私は限られたjavascript配列関数にうんざりしていて、集合論関数を実行するための独自の便利なプロトタイプ関数をいくつか書きたいと思っていました。
以下は私がこれまでに持っているコードです
ドメインと新しく構築したセットの補集合を取得しようとすると、すべてが最終段階まで機能しています。[1,2,3,4,5,6,7,8,9,10]と[8,9,10,1,2,3]の補数を取得すると、[4、 5,6,7]しかし、D.Complement(R)を実行すると、D変数が[1,2,3]に変わったようです。これは、私が実行した列挙の後に発生するようです。
関数でthis.spliceとarr.spliceを使用していて、変数を関数に渡すときに、実際に実際のメモリ位置で作業していることを意味するポインタとして渡されていたためだと思いました。そこで、primArrayとsecondArrayを使用して、作業用の複製を作成しました...しかし、問題はまだ発生しています
どうもありがとう
math - セットビルダー表記を取り、名簿表記を返すソフトウェアはありますか?
たとえば、{x|xεZ,0<x} を入力すると、{ 1,2,3,4,5,6,7,8,9,10,11,...} が返されます。
c# - 流暢なNHibernateとの親子関係?
特定の親に対してN個の子のカスケードツリー/リストを作成したいと思います。ここで、子は親になることもできます。
次のデータ構造があるとします。
CountryType = 1; ColorType = 3; StateType = 5
6,7,8 = {Can、US、Mex} 10、11、12 =
{Red、White、Blue}
20,21,22 = {California、Florida、Alberta}
これはFluentNHibernateクラスでどのように表されますか?
いくつかの方向性をいただければ幸いです。
ありがとう。
database - 同じドメインを持つセットの大規模なコレクションに対してサブセット テスト操作を実行する最速の方法
何兆ものセットがどこかに保存されていると仮定します。これらの各セットのドメインは同じです。また、有限で離散的です。したがって、各セットは、比較的短い長さ (例: 1024) のビット フィールド (例: 0000100111...) として格納できます。つまり、ビットフィールドのビット X は、アイテム X (1024 個の可能なアイテムのうち) が特定のセットに含まれているかどうかを示します。
ここで、クエリに効率的に応答するためのストレージ構造とアルゴリズムを考案したいと思います。つまり、データ ストア内のどのセットが Y をサブセットとして設定したかということです。セット Y 自体はデータ ストアに存在せず、実行時に指定されます。
これを解決する最も簡単な方法は、セット Y のビットフィールドと、データストア内のすべてのセットのビットフィールドを 1 つずつ AND し、AND の結果が Y のビットフィールドと一致するものを選択することです。
どうすればこれをスピードアップできますか? 格納されているすべてのセットのビットフィールドを AND 処理することなく、このクエリを実行できるツリー構造 (インデックス) またはスマート アルゴリズムはありますか?
セットの大規模なコレクションに対するそのような操作を既にサポートしているデータベースはありますか?