# Fisher–Yates shuffle

The Fisher–Yates shuffle is an algorithm for generating a random 
permutation of a finite sequence—in plain terms, the algorithm 
shuffles the sequence. The algorithm effectively puts all the 
elements into a hat; it continually determines the next element 
by randomly drawing an element from the hat until no elements 
remain. The algorithm produces an unbiased permutation: every 
permutation is equally likely. The modern version of the 
algorithm is efficient: it takes time proportional to the 
number of items being shuffled and shuffles them in place.

## References

[Wikipedia](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle)