Maintaining the cycle structure of dynamic permutations

06/07/2023
by   Zsuzsanna Lipták, et al.
0

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 𝒪(log n) amortized time, where n is the size of π. The FST computes any π(i), π^-1(i), π^k(i) and π^-k(i), in 𝒪(log 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 𝒪(log n) amortized time.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset