No estoy seguro de si la siguiente pseudo-código puede generar un uniformly random permutation
:Generar una permutación aleatoria uniforme
PERMUTATE(A):
n = A.length
for i = 1 to n
swap A[i] and A[random(1,n)]
Parece ser correcta, pero alguien me puede dar una prueba rigurosa para verificar su corrección o incorrección ?