问题标签 [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 (7),一个分区的长度为 7 (1 1 1 1 1 1 1)。有 4 个长度为 3 的分区:(5 1 1)、(4 2 1)、(3 3 1)、(3 2 2)。

对于较大数量的 N,如果您绘制分区长度的分布图,则会出现一条不对称曲线,向原点倾斜。如果您好奇,请绘制以下 N=40 的分区长度计数。

1兆

如果您对生成这些分布计数感兴趣,这是我使用的代码:

(注意:在我的电脑上,生成 N=90 大约需要 10 分钟)。

所以我的问题是:什么方程可以用来匹配观察到的分布曲线?它是高斯分布(高斯分布可以是不对称的吗?)还是泊松分布,还是别的什么?

我如何解决它的N?如果我记得我高中的数学,我可以通过求解导数与 0 相交的时间来确定峰值。如何产生导数?我在网上搜索过,但我得到的只是深奥的数学论文。我只需要一些代码:)

0 投票
2 回答
1091 浏览

java - 在 Java 中生成分区

我得到一个整数(我们称之为 x),我需要生成一个数组数组,其中每个子数组是一个元素列表,这些元素是给定整数集合中的一个,以及每个子数组的所有元素的总和是 x。数组数组需要包含这种形式的所有可能的不同子数组。

例如,如果 x 是 3 并且可能元素的列表是 {1, 2},我希望生成 {{1, 2}, {2, 1}}。

执行此操作的最佳方法是什么(在伪代码或 Java 中)?这个二维数组是存储此类数据的最佳方式吗?我想不出比这更好的了,但我猜那里有什么东西。

0 投票
11 回答
34300 浏览

c# - C# - 分区列表的优雅方式?

我想通过指定每个分区中的元素数将列表划分为列表列表。

例如,假设我有一个列表 {1, 2, ... 11},并且想对它进行分区,使每个集合有 4 个元素,最后一个集合尽可能多地填充元素。生成的分区看起来像 {{1..4}, {5..8}, {9..11}}

写这个的优雅方式是什么?

0 投票
6 回答
1382 浏览

algorithm - 如何最大程度地划分集合?

我正在尝试解决 Project Euler 问题之一。因此,我需要一种算法来帮助我以任何顺序找到集合中所有可能的分区。

例如,给定集合2 3 3 5

等等。几乎所有可能的集合成员组合。我当然在网上搜索过,但没有找到对我直接有用的东西,因为我说的是程序员语言而不是高级数学语言。

谁能帮我解决这个问题?我几乎可以阅读任何编程语言,从 BASIC 到 Haskell,所以可以用任何你喜欢的语言发帖。

0 投票
1 回答
373 浏览

predicate - 对指针向量进行分区时的谓词语法 (C++)

我有一个指向对象的指针向量。我想根据成员函数报告的属性从此向量中删除对象。

我正在尝试遵循一个很好的例子,我发现如何从向量中删除某些指针(及其关联对象)。基本思想是对向量进行分区,删除选定的对象,然后删除指向这些对象的指针。以下是示例(来自Dobbs 博士):

我对谓词的正确语法感到困惑。我的对象属于 Strain 类,我的向量是 vector< Strain * > liveStrains。谓词应该是应变成员函数isExtinct()。以下不起作用:

我可以看到我试图在指向对象而不是对象本身的指针上调用成员函数。为了解决这个问题,尝试将 & 更改为 *(我显然是一个新手),并且我尝试为类 Simulation 创建一个成员函数,该函数在成员函数中更新 liveStrains。我不确定是否值得深入了解不起作用的细节。我对可用的语法选项感到非常困惑,或者我试图做的事情是否被允许。

提前感谢您的帮助。

0 投票
3 回答
162 浏览

user-interface - 是否有标准的用户界面范例来配置一组元素的分区?

假设您有一组对象 X(例如,A、B、C、D),您希望将其划分为覆盖所有 X 的非空子集。从数学上讲,是集合的一个分区

因此,起初您可能会将它们视为完全不同的 {{A}、{B}、{C}、{D}}。或者,您可以将它们分成元音和辅音,即{{A}、{B,C,D}}。或者,任意地,{{A,D}, {B,C}}。

是否有支持此功能的标准用户界面小部件/概念/范式/模式?有两个带有 Add ->、Add All ->、<- Remove 和 <-- Remove All 的列表框在它们之间切换(即列表生成器)仅适用于 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] 结构)。

我真的不想为此使用大量库(或任何库)。

编辑:

虽然,实际上我正在寻找的数字是: