Skip to main content

Fisher–Yates Shuffle

Definition

The Fisher-Yates Shuffle Algorithm, also known as the Knuth Shuffle, is a method for generating a random permutation of a finite sequence. It efficiently shuffles elements within an array or list, ensuring each permutation has an equal probability of occurrence

Practice

fisherYatesShuffle(array):
n = length(array)
for i from n-1 down to 1:
randomIndex = random(0, i)
swap(array[i], array[randomIndex])