An Efficient Algorithm for Permutation Iteration Using a Singly Linked List
Thomas Baruchel

TL;DR
This paper introduces an efficient permutation iteration algorithm using a singly linked list that minimizes memory allocation and maintains smooth transitions between permutations.
Contribution
It presents a novel permutation generation method leveraging elementary operations on recursive lists, with a proof of concept and a polynomial-time permutation index algorithm.
Findings
No new nodes allocated during permutation generation
Permutations generated in an unusual but smooth order
Polynomial-time algorithm for permutation indexing
Abstract
We present a new algorithm for iterating over all permutations of a sequence. The algorithm leverages elementary~ operations on recursive lists. As a result, no new nodes are allocated during the computation. Instead, all elements are rearranged within the original nodes of the singly linked list throughout the process. While permutations are generated in an unusual order, the transitions between consecutive permutations remain smooth. A proof of concept written in the Lisp programming language is referenced and discussed. We also present a polynomial-time algorithm for computing an arbitrary permutation given its index.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
Topicsgraph theory and CDMA systems · Advanced Graph Theory Research · Polynomial and algebraic computation
