Constant Time and Space Updates for the Sigma-Tau Problem
Abstract
Sawada and Williams in [SODA 2018] and [ACM Trans. Alg. 2020] gave algorithms for constructing Hamiltonian paths and cycles in the Sigma-Tau graph, thereby solving a problem of Nijenhuis and Wilf that had been open for over 40 years. The Sigma-Tau graph is the directed graph whose vertex set consists of all permutations of n, and there is a directed edge from pi to pi ' if p pi ' can be obtained from pi either by a cyclic left-shift (sigma) or by exchanging the first two entries (tau). We improve the existing algorithms from O(n) time per permutation to O(1) time per permutation. Moreover, our algorithms require only O(1) extra space. The result is the first combinatorial generation algorithm for n-permutations that is optimal in both time and space, and lists the objects in a Gray code order using only two types of changes. The simple C code (similar to 50 lines) can be found at https://github.com/fmasillo/sigma-tau.
Más información
Título según WOS: | Constant Time and Space Updates for the Sigma-Tau Problem |
Título de la Revista: | STRING PROCESSING AND INFORMATION RETRIEVAL, SPIRE 2020 |
Volumen: | 14240 |
Editorial: | SPRINGER INTERNATIONAL PUBLISHING AG |
Fecha de publicación: | 2023 |
Página de inicio: | 323 |
Página final: | 330 |
DOI: |
10.1007/978-3-031-43980-3_26 |
Notas: | ISI |