Computing the Parameterized Burrows–Wheeler Transform Online
Parameterized strings are a generalization of strings in that their characters are drawn from two different alphabets, where one is considered to be the alphabet of static characters and the other to be the alphabet of parameter characters. Two parameterized strings are a parameterized match if there is a bijection over all characters such that the bijection transforms one string to the other while keeping the static characters (i.e., it behaves as the identity on the static alphabet). Ganguly et al. [SODA'2017] proposed the parameterized Burrows–Wheeler transform (PBWT) as a variant of the Burrows–Wheeler transform for space-efficient parameterized pattern matching. In this paper, we propose an algorithm for computing the PBWT online by reading the characters of a given input string one-by-one from right to left. Our algorithm works in O(|Π| log n / loglog n) amortized time for each input character, where n, Σ, and Π denote the size of the input string, and the alphabets of the static and parameter characters, respectively.
READ FULL TEXT