In-place permuting and perfect shuffling using involutions

From MaRDI portal
(Redirected from Publication:396603)



Abstract: We show that any permutation of 1,2,...,N can be written as the product of two involutions. As a consequence, any permutation of the elements of an array can be performed in-place in parallel in time O(1). In the case where the permutation is the k-way perfect shuffle we develop two methods for efficiently computing such a pair of involutions. The first method works whenever N is a power of k; in this case the time is O(N) and space O(log2N). The second method applies to the general case where N is a multiple of k; here the time is O(NlogN) and the space is O(log2N). If k=2 the space usage of the first method can be reduced to O(logN) on a machine that has a SADD (population count) instruction.












This page was built for publication: In-place permuting and perfect shuffling using involutions

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q396603)