If I have an one-bit uniform random generator, how can I use it to generate a permutation uniformly for the sequence {1, 2, ..., n}.I have a solution:  run the one-bit random generator n*n times to decide if each pair of elements will be exchanged.The complexity is O(n*n).I want to know if there more efficiency solution? What is the lower bound for this problem?  
How to generate a permutation uniformly by repeating using an one-bit uniform random generator?
ds.algorithms;lower bounds;randomized algorithms