Generation of Random Permutations (Algorithm 362 [G6])
CACM November, 1969
Robson, J. M.
