Maintaining the cycle structure of dynamic permutations
Abstract
We present a new data structure for maintaining dynamic permutations, which we call a forest of splay trees (FST). The FST allows one to efficiently maintain the cycle structure of a permutation π when the allowed updates are transpositions. The structure stores one conceptual splay tree for each cycle of π, using the position within the cycle as the key. Updating π to τ·π, for a transposition τ, takes O( n) amortized time, where n is the size of π. The FST computes any π(i), π-1(i), πk(i) and π-k(i), in O( n) amortized time. Further, it supports cycle-specific queries such as determining whether two elements belong to the same cycle, flip a segment of a cycle, and others, again within O( n) amortized time.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.