私はフィッシャーイエーツについて読む前に、これは私が思いついたアルゴリズムです:私の理解からなぜこのシャッフルアルゴリズムが間違っていますか?
def sort(arr):
for i in range(len(arr)):
swap(arr, i, rand.randint(0, len(arr) - 1))
は、これとフィッシャー・イエーツとの唯一の違いは、代わりに:
swap(arr, i, rand.randint(0, len(arr) - 1))
私は書く必要があります:
swap(arr, i, rand.randint(i, len(arr) - 1))
誰かが最初のアルゴリズムが間違っていることを説明できますか? (すなわちランダムなシャッフルを生成しません)。ウィキペディアから