In-place permuting and perfect shuffling using involutions

From MaRDI portal
Publication:396603

DOI10.1016/J.IPL.2013.02.017zbMATH Open1366.68214arXiv1204.1958OpenAlexW2027252214MaRDI QIDQ396603FDOQ396603


Authors: Qingxuan Yang, John Ellis, Khalegh Mamakani, Frank Ruskey Edit this on Wikidata


Publication date: 13 August 2014

Published in: Information Processing Letters (Search for Journal in Brave)

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.


Full work available at URL: https://arxiv.org/abs/1204.1958




Recommendations




Cites Work


Cited In (6)





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)