pith. machine review for the scientific record. sign in

arxiv: 1204.1958 · v2 · submitted 2012-04-09 · 💻 cs.DS

Recognition: unknown

Parallel and sequential in-place permuting and perfect shuffling using involutions

Authors on Pith no claims yet
classification 💻 cs.DS
keywords caseinvolutionsmethodpermutationspacetimefirstin-place
0
0 comments X
read the original 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(\log^2 N)$. The second method applies to the general case where $N$ is a multiple of $k$; here the time is $O(N \log N)$ and the space is $O(\log^2 N)$. If $k=2$ the space usage of the first method can be reduced to $O(\log N)$ on a machine that has a SADD (population count) instruction.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.