【发布时间】:2012-06-19 02:38:27
【问题描述】:
在第 126 页,第 12.2 节:
算法依次考虑整数 0、1、2、...、n-1,并选择 每一个都通过适当的随机测试。通过按顺序访问整数,我们 保证输出将被排序。
为了理解选择标准,让我们考虑 m=2 的例子 n = 5。我们应该选择概率为 2/5 的第一个整数 0;一个 程序通过这样的语句实现它
if (bigrand() % 5) < 2
我的问题是,为什么选择第一个整数的概率是 2/5,而不是 1/5?从5个数字中随机选择一个数字的概率不应该是1/5吗?
这里真是一头雾水。希望有人可以在这里提供一些澄清。
谢谢!
【问题讨论】:
-
bigrand() % 5可以给出 0、1、2、3、4 和 2,其中(0 和 1)小于 2。 -
算法的目标是什么?以相等的概率从 N 个数字中选择 M 个?
标签: algorithm probability