問題タブ [data-partitioning]

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 投票する
1 に答える
2055 参照

perl - 曲線をヒストグラム分布に適合させるにはどうすればよいですか?

先日、ある人から整数パーティションについて電子メールで質問されましたが (私は整数パーティションを生成するために Perl モジュール Integer::Partition をリリースしていたため)、答えることができませんでした。

背景: ここに 7 のすべての整数パーティションがあります (各行の合計は 7 です)。

ここで、各パーティションの長さを見て、各長さの数を数えると、次のようになります。

... 1 つのパーティションの長さは 1 (7) で、もう 1 つのパーティションの長さは 7 (1 1 1 1 1 1 1) です。長さ 3 の 4 つのパーティションがあります: (5 1 1)、(4 2 1)、(3 3 1)、(3 2 2)。

N の数が大きい場合、分割長の分布をグラフにすると、原点に向かって歪んだ非対称曲線が現れます。興味がある場合は、N=40 の次のパーティション長カウントをグラフ化してください。

1 20 133 478 1115 1945 2738 3319 3589 3590 3370 3036 2637 2241 1861 1530 1236 995 790 627 490 385 297 231 176 135 101 77 56 42 30 22 15 11 7 5 2 1 1 1 1 1 1 1 1

これらの分布カウントの生成に興味がある場合は、私が使用したコードを次に示します。

(注: 私のコンピューターでは、N=90 の生成に約 10 分かかります)。

私の質問は、観測された分布曲線を一致させるために使用できる式は何ですか? それはガウス(ガウス分布は非対称になることができますか?)またはポアソン分布ですか、それとも何か他のものですか?

Nについてどうやって解くのですか?高校の数学を思い出せば、導関数が 0 と交差するときを解くことでピークを特定できます。私はウェブを検索しましたが、戻ってくるのは難解な数学論文だけです。私はいくつかのコードが必要です:)

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

java - Java でのパーティションの生成

整数 (x と呼びましょう) が与えられ、配列の配列を生成する必要があります。ここで、各サブ配列は、指定された整数セットの 1 つである要素のリストであり、各サブ配列のすべての要素の合計です。 ×です。配列の配列には、この形式のすべての可能な個別のサブ配列を含める必要があります。

たとえば、x が 3 で、可能な要素のリストが {1, 2} の場合、{{1, 2}, {2, 1}} を生成しようとしています。

これを行うための最良の方法は何ですか(疑似コードまたはJavaで)?この 2D 配列は、このタイプのデータを格納するための最良の方法ですか? これ以上良いものは思いつきませんでしたが、そこには何かがあると思います。

0 投票する
11 に答える
34300 参照

c# - C# - リストを分割するエレガントな方法は?

各パーティションの要素数を指定して、リストをリストのリストに分割したいと思います。

たとえば、リスト {1, 2, ... 11} があり、各セットが 4 つの要素を持ち、最後のセットができるだけ多くの要素を満たすように分割したいとします。結果のパーティションは {{1..4}, {5..8}, {9..11}} のようになります

これを書くエレガントな方法は何でしょうか?

0 投票する
6 に答える
1382 参照

algorithm - セットを最大限に分割するにはどうすればよいですか?

プロジェクト オイラーの問題の 1 つを解決しようとしています。結果として、セットのすべての可能なパーティションを任意の順序で見つけるのに役立つアルゴリズムが必要です。

たとえば、 set が与えられた場合2 3 3 5:

等々。セットのメンバーのほぼすべての可能な組み合わせ。もちろん、ネットを検索しましたが、私は高度な数学ではなくプログラマーを話すので、直接役立つ情報はあまり見つかりませんでした。

誰でもこれで私を助けることができますか? 私は BASIC から Haskell まで、ほとんどすべてのプログラミング言語を読むことができるので、好きな言語で投稿してください。

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

predicate - ポインターのベクトルを分割するときの述語構文(C ++)

オブジェクトへのポインタのベクトルがあります。メンバー関数によって報告された属性に従って、このベクトルからオブジェクトを削除したいと思います。

ベクターから特定のポインター(およびそれらに関連するオブジェクト)を削除する方法について見つけた良い例に従おうとしています。基本的な考え方は、ベクトルを分割し、選択したオブジェクトを削除してから、それらのオブジェクトへのポインターを削除することです。以下は(ドブス博士からの)例です:

述語の適切な構文に困惑しています。私のオブジェクトはクラスStrainであり、私のベクトルはvector <Strain*>liveStrainsです。述語は、Strainメンバー関数isExtinct()である必要があります。以下は機能しません。

オブジェクト自体ではなく、オブジェクトへのポインターでメンバー関数を呼び出そうとしていることがわかります。これを回避するには、&を*に変更してみました(私は明らかに初心者です)。また、メンバー関数でliveStrainsを更新するSimulationクラスのメンバー関数を作成してみました。うまくいかなかったものの詳細を調べる価値があるかどうかはわかりません。利用可能な構文オプション、または私がやろうとしていることが許可されているかどうかについて、私はひどく混乱しています。

助けてくれてありがとう。

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

user-interface - 一連の要素のパーティションを構成するための標準的なユーザー インターフェイス パラダイムはありますか?

X のすべてをカバーする空でないサブセットに分割したいオブジェクト X (たとえば、A、B、C、D) のセットがあるとします。数学的には、セットの分割です

したがって、最初は、{{A}、{B}、{C}、{D}} のようにすべて異なるものとして扱うことができます。あるいは、{{A}, {B,C,D}} のように母音と子音に分けることもできます。または、任意に {{A,D}, {B,C}}。

これをサポートする標準のユーザー インターフェイス ウィジェット/コンセプト/パラダイム/パターンはありますか? Add ->、Add All ->、<- Remove、および <-- Remove All で切り替える 2 つのリスト ボックス (つまり、リスト ビルダー) は、2 つのサブセットに対してのみ機能しますが、任意の k 番号に対しては機能しません。サブセットの。

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

methods - 分割方法

私はこのメソッドが何をするのかを正確に理解しようとしています.「最も外側の間違った位置にあるペアを交換し続ける」と仮定しています. これをプログラムに入れて別の配列を試しましたが、結果は意味がありません。これは正確には何をしますか

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

php - 配列内の重複する値を新しいランダムに生成された値に置き換えます

n 個の値を持つ配列を作成する関数の下にあります (未回答の前の質問から)。配列の合計は $max に等しくなります。

例: $n = 4 および $max = 30 に設定すると、次のようになります。

ただし、この関数は重複と 0 を考慮しません。私が望んでいて、達成しようとしているのは、事前定義された変数$maxに加算される一意の番号を持つ配列を生成することです。重複した数字0 および/または負の整数はありません

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

c++ - クイックソート/ベクター/パーティションの問題

次のコードに問題があります。

ただし、これは要素数が多すぎる場合には機能しません (10 000 要素では機能しますが、100 000 では機能しません)。

コード例:

STL パーティション機能はこのようなサイズでは動作しませんか? または、何か不足していますか?

助けてくれて本当にありがとうございます。

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

hash - キースペースをアルゴリズムで分割する方法は?

これはコンシステントハッシュ法に関連しており、私は概念的に何をする必要があるかを理解していますが、これをコードに変換するのに苦労しています。

特定のキースペース(たとえば、128ビット)を同じサイズのパーティションに分割しようとしています。各パーティションの上限(最高のキー)が必要です。

基本的に、これをどのように完了しますか?

編集:

私はこれを別の言い方で言うと思います:

もちろん、問題は2 ^ 128は非常に大きな数であり、数学を実行するCの単一の整数変数に含めることができないことです(したがって、char [16]構造体)。

私は本当にこれに多数のライブラリ(または任意のライブラリ)を使用したくありません。

編集:

しかし、実際には私が探している数字は次のとおりです。