問題タブ [set-intersection]
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 - 交差点を適切に反復する方法
各反復が新しい行セットの交差である一連の交差を反復しようとしています。次のようなコードがあります。
NNCatelogue は基本的に 1268 X 12 の行列であり、行の新しい反復ごとに新しい行が呼び出されます。必要な行番号(つまり、0、1、2 ...)を単純に入力すると、予想される出力が得られます(前にforループがありません)。上記のコードを実行すると、次の出力が得られます。
予想される出力は次のようになります。
私が間違っている可能性がある場所はありますか?どんな助けでも大歓迎です!
アップデート:
回答の 1 つのバリエーションを試してみましたが、予想に近いものでしたが、それほどではありません。これが私が試したものです:
結果の出力は次のとおりです。
したがって、いくつかの交差点は正しいですが、それは私の望ましい出力ではありません...ここから何かアイデアはありますか?
c++ - C++ でのセットのコレクションの効率的なセット交差
のコレクションを持っていstd::setます。このコレクション内のすべてのセットの交点を最速の方法で見つけたいと考えています。通常、コレクション内のセットの数は非常に少なく (~5 ~ 10)、各セット内の要素の数は通常 1000 未満ですが、10000 程度になることもあります。何千回も、可能な限り速く。次のように、いくつかの方法のベンチマークを試みました。
std::set最初に最初のセットをコピーするオブジェクトのインプレース交差。次に、後続のセットについて、それ自体のすべての要素とコレクションの i 番目のセットを反復処理し、必要に応じてそれ自体からアイテムを削除します。std::set_intersectionを一時的に使用して、std::setコンテンツを現在のセットにスワップし、現在のセットと次のセットの共通点を再度見つけて、一時セットに挿入します。- 1) のように、すべてのセットのすべての要素を手動で繰り返しますが、 の
vector代わりに を宛先コンテナーとして使用しstd::setます。 - 4 と同じですが、 a の
std::list代わりに avectorを使用しlistます。 - ハッシュ セット (
std::unordered_set) を使用し、すべてのセット内のすべてのアイテムをチェックします。
vector結局のところ、各セットの要素数が少ない場合はa を使用するとわずかに速くlistなり、大きなセットの場合はわずかに速くなります。インプレース使用は、ハッシュ セットsetが続く両方よりも大幅に遅くなります。set_intersectionこれを達成するためのより高速なアルゴリズム/データ構造/トリックはありますか? 必要に応じてコード スニペットを投稿できます。ありがとう!
java - java.util.Mapの交差点
2つのマップで交差を実行する方法java.util.Mapまたはutilはありますか?(「キー」によって2つのマップを交差させるため)
何も見つかりません。私はいつでも独自の交差ロジックを実装できますが、これを実行するjava.util.*クラスの1つにすでに何らかの操作があることを望んでいました。
c++ - ベクトルへの比較と並べ替えの方法で
1A3BA、3B5RE、1WYX5 などのタンパク質 pdb id によって作成された 2 つのベクターがあります。これらの2つのベクトルのタンパク質リストが同じかどうかを比較したい. 違いは何ですか?C++ で stl アルゴリズムを使用しようとしましたが、常にセグメント フォールトが発生します。何が悪いのか教えてくれる人はいますか..?また、並べ替えアルゴリズムについてもよくわかりませんが、とにかく..並べ替えを行ってもコードに問題があっても...
algorithm - 集合交差の並列アルゴリズム
メッシュのノードを表すデータの n セット (n ランクに分散) があり、これらのセットの交点、つまり共通ノードを見つけるための効率的な並列アルゴリズムを知りたいと思っていました。任意の 2 つのセットがノードを共有するとすぐに、交差が定義されます。
例えば;
入力:
並列アルゴリズムを実装します --> 結果: (交差点を見つけた後)
アルゴリズムは、各ランクに 1 セットの n ランクで実行する必要があります。
c++ - セットの非交点のデータを出力するセットB
2 セットのデータがある場合
set_intersection を使用 2 つのセットの交差部分のデータを取得できます。
セットAとセットBそれぞれの非交差部分のデータを印刷するにはどうすればよいですか?
r - Rで交差を使用するにはリストを平坦化する必要があります
strsplit() を使用して名前の各要素を取得したフルネーム データがあります。
以下に学位のリストもあります
各名前とそれぞれの学位の交点を取得したいと思います。
インターセクトを使用して 2 つのベクトルを比較できるように、名前リストを平坦化する方法がわかりません。試しunlist(df$splitname,recursive=F)てみると、各要素が個別に返されました。どんな助けでも大歓迎です。
c++ - set_intersectionのコードがstdより遅いのはなぜですか?
以下の2つの機能があります。ランダムにソートされたベクトルを使用して、それぞれを約200K回実行します(各関数は同じ2つのベクトルを取得しますが、ベクトルは実行ごとに異なります)。私のコードは200Kの反復すべてで合計約500ミリ秒で実行されるのに対し、STD関数呼び出しは440ミリ秒で実行されるため、少し混乱しています。〜60msはどこに行くのですか?私が違ったやり方で行ったSTDは何をしている(またはしていない)のですか?
コアi5でVisualStudio10を使用しています。
jpa - CritieraQuery を使用して交差クエリを取得する方法は?
与えられた
特定のタグのコレクションでタグ付けされたすべてのドキュメントを検索します。基本的に、次のものに相当するEclipseLink:
ただし、JPA CritieraQuery を使用します。
java - Javaで2つのビットセットを新しいBitSetに交差させる最速の方法は何ですか?
これよりも時間的に速いものはありますか:
たぶん、intに変換して数値として追加してから、に戻しBitSetますか?