когда мы создаем алгоритм рандомизации, иногда мы рандомизируем входные данные, переставляя заданный входной массив. Важно ли производить равномерную случайную перестановку? Потому что, когда я использую первый код, вы получите лучший результат, чем оригинальный код (Fisher-Yates Shuffle)
//mycode
n = A.length
for i = 1 to n
j = Random(i,n)
swap A[j] with A[j+1]
//Fisher-Yates Shuffle
n = A.length
for i = 1 to n
swap A[i] with A[Random(i,n)]