I'm aware of the established array-shuffling algorithms, such as Knuth-Fisher-Yates. I'm interested in proving (or disproving) that my self-made shuffling algorithm is broken. It seems to be the reverse of KFY and requires the same number of random numbers. Here's the algorithm:
for i from 0 upto n-1 do:
j = random integer such as that i ≤ j ≤ n-1;
exchange a[j] and a[i];
Extra: If this algorithm is indeed the reverse of KFY and working, are there any general properties, something like "the reverse of a random shuffling algorithm is also random shuffling"?