Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 概率不等时桶排序的期望值_Algorithm_Sorting_Probability_Bucket Sort - Fatal编程技术网

Algorithm 概率不等时桶排序的期望值

Algorithm 概率不等时桶排序的期望值,algorithm,sorting,probability,bucket-sort,Algorithm,Sorting,Probability,Bucket Sort,我需要帮助解决一个与桶排序算法相关的问题,我们有n个输入和n个桶。我从书中得到的例子显示了一个问题,其中一个项目落入某个桶中的概率等于= 现在,我发现一个问题,我们有n个bucket,随机生成n个数字(范围0-1)。如果生成的数字y大于0.5,我们掷硬币。如果硬币出现“头部”,则y=y-0.5 问题是: 数字y落入第一个桶中的概率是多少 数字y落入最后一个桶中的概率是多少 如何计算期望值以获得此桶排序的平均运行时间 谢谢 概率为1/2时,y小于1/2;在此条件下,概率为2/n,它落入第一个桶中

我需要帮助解决一个与桶排序算法相关的问题,我们有n个输入和n个桶。我从书中得到的例子显示了一个问题,其中一个项目落入某个桶中的概率等于=
现在,我发现一个问题,我们有n个bucket,随机生成n个数字(范围0-1)。如果生成的数字y大于0.5,我们掷硬币。如果硬币出现“头部”,则y=y-0.5
问题是:

  • 数字y落入第一个桶中的概率是多少
  • 数字y落入最后一个桶中的概率是多少
  • 如何计算期望值以获得此桶排序的平均运行时间
  • 谢谢

    • 概率为1/2时,y小于1/2;在此条件下,概率为2/n,它落入第一个桶中
    • 概率为1/2时,y大于1/2;在此条件下,其落入第一个铲斗的概率为(1/2)(2/n)

    • 根据总概率定理,概率为1.5/n。根据对称性,这适用于每个铲斗的前半部分

  • 由于前半个铲斗的概率为1.5/n,因此后半个铲斗的概率对称性为(1-(n/2)(1.5/n))/(0.5n)=0.5/n

  • 期望值是线性的。通过期望的线性,期望是对每个桶进行(二次)排序的时间的期望之和。每个前半个铲斗都有恒定的预期时间。证明基本上与经典桶排序相同:对于某些α,每个桶的分布是带有参数α/n的伯努利分布


  • 谢谢你的回答。但是,我还是不明白这一点:1。“根据对称性,前半个桶中的每一个都是如此”。我们如何证明1-(1.5/n)适用于所有前半个桶?2.你能解释一下吗:(1-(n/2)(1.5/n))/(0.5n)=0.5/n?为什么除以(0.5n)?@mskeira关于这个桶的唯一用途是它在上半部分(而不是,例如,它是第一个桶)。如果你计算第二个桶的概率,你会得到同样的结果,下一个桶也是如此,等等。下半部分的第一个桶就不再是真的了。“为什么除以(0.5n)?”右半部分有0.5n个桶。