在第 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吗?
这里真是一头雾水。希望有人可以在这里提供一些澄清。
谢谢!