Algorithm 生成均匀随机排列
我不确定以下伪代码是否可以生成一致随机排列:Algorithm 生成均匀随机排列,algorithm,Algorithm,我不确定以下伪代码是否可以生成一致随机排列: PERMUTATE(A): n = A.length for i = 1 to n swap A[i] and A[random(1,n)] 这似乎是对的,但有人能给我一个严格的证据来验证它的正确性或错误性吗?这个解决方案是有偏见的,你想要[这是类似的]非偏见排列。[基本上,您需要使用random(i,n)而不是random(1,n)] 讨论您的解决方案有偏差的方式和原因
PERMUTATE(A):
n = A.length
for i = 1 to n
swap A[i] and A[random(1,n)]
这似乎是对的,但有人能给我一个严格的证据来验证它的正确性或错误性吗?这个解决方案是有偏见的,你想要[这是类似的]非偏见排列。[基本上,您需要使用
random(i,n)
而不是random(1,n)
]
讨论您的解决方案有偏差的方式和原因