Algorithm 基于快速排序划分的概率

Algorithm 基于快速排序划分的概率,algorithm,probability,quicksort,Algorithm,Probability,Quicksort,我遇到了这个问题: 设0轴元素的选择是随机的,分布均匀 数组中有N个元素,我们将假设N很大(或者我们无法得到想要的答案) 如果0≤α≤1,小于枢轴的元素数小于αN的概率为α。大于枢轴的元素数小于αN的概率是相同的。Ifα≤ 1/2,那么这两种可能性是互斥的 也就是说,较小的子阵列具有一定的长度≥αN,也就是说这两个条件都不成立,因此概率为1-2α。数组长度为N。 对于较小的数组长度>=αn pivot应大于αn元素数。同时,pivot的元素数应小于αn(否则,较小的数组大小将小于要求的大小) 所

我遇到了这个问题:


设0轴元素的选择是随机的,分布均匀

数组中有N个元素,我们将假设N很大(或者我们无法得到想要的答案)

如果0≤α≤1,小于枢轴的元素数小于αN的概率为α。大于枢轴的元素数小于αN的概率是相同的。Ifα≤ 1/2,那么这两种可能性是互斥的

也就是说,较小的子阵列具有一定的长度≥αN,也就是说这两个条件都不成立,因此概率为1-2α。

数组长度为N。 对于较小的数组长度>=αn pivot应大于αn元素数。同时,pivot的元素数应小于αn(否则,较小的数组大小将小于要求的大小)

所以在n个元素中,我们必须从(n-2α)n个元素中选择一个

所需概率为n(1-2α)/n


因此1-2α

概率为所需元素数量/元素总数。 在这种情况下,((1-αn)-(αn))/n 由于α介于,0和0.5之间,(1-α)必须大于α。因此它们之间包含的元素数量为, (1-α-α)n=(1-2α)n 所以,可能性是,
(1-2α)n/n=1-2α

只是解决问题的另一种方法(对于那些像我一样不太理解问题的人来说)

首先。 因为我们说的是“两个子阵列中较小的一个子阵列”,所以它的长度小于1/2*n(n-原始阵列中的元素数)

秒。 如果0 第三名。
让我们想象一下,骰子两边的数字从1到6。让我们从1到6中选择一个数字,例如4。现在掷骰子。每个数字都有1/6的概率成为该掷骰的结果。因此,对于事件“结果小于或等于4”,我们的概率等于每个结果的概率之和。我们有数字1,2,3和4。总的来说,p(x4)=1-p(x其他答案不太符合我的意思,所以这里是另一个例子:

如果两个子数组中至少有一个子数组必须为,则可以推断枢轴也必须处于适当位置。这是矛盾的。如果枢轴为,则有一个子数组小于。根据相同的推理,枢轴也必须为。枢轴的任何较大值都将产生比“右侧”更小的子数组

这意味着,如下图所示:

我们要计算的是该事件发生的概率(称为A),即

我们计算事件发生概率的方法是将构成结果的概率相加,即枢轴到达的概率

该金额表示为:

这很容易简化为:

取消后,我们得到:

另一种方法: 列出“更平衡的”选项:

因此k总计。我们知道最平衡的是n/2到n/2,因此:

同样,列出“不太平衡的”选项:

总的来说,m。我们知道最不平衡的是0到n,所以:

由于所有这些选项发生的概率相等,我们可以使用概率的频率定义,因此:

Pr{More balanced}=(total#of More balanced)/(total#of options)=>


考虑到它更具理论性,这可能会更好nature@Quirliom:谢谢。我已经在cs.stackexchange上发布了这个问题。您应该提到这个问题来自第3周的Coursera课程,公开寻求答案是违反他们的荣誉准则的。换句话说,当您要求解决家庭作业问题时s、 你说的“pivot应该大于元素的αn个数,同时pivot应该小于元素的αn个数”是什么意思?这两者似乎相互矛盾。我相信1-2*alpha不起作用,例如,array={1,2,3,4,5}alpha=0.3****************根据公式,概率=1-2*0.3=0.4*************但是,只有一个枢轴(3),它可以划分为2个数组,每个数组的大小为2,因此最小值为2>=0.3*5=1.5,其余所有枢轴将具有较小的子数组,大小为1,而不是>=1.5*******************因此,概率为1(只有一个枢轴3)/5(所有可能的枢轴)=0.2,这等于否定了0.4谢谢!我不是OP,但这个答案对我来说真的很有意义,不像其他一些答案
Its answer is 1-2*α.
αn + 1 to (1 - α)n - 1

αn + 2 to (1 - α)n - 2

...

αn + k to (1 - α)n - k
 αn + k = n / 2 => k = n(1/2 - α)
αn - 1 to (1 - α)n + 1

αn - 2 to (1 - α)n + 2

...

αn - m to (1 - α)n + m
αn - m = 0 => m = αn
Pr{More balanced} = k / (k + m) = n(1/2 - α) / (n(1/2 - α) + αn) = 1 - 2α