Space-efficient Conversions from SLPs

Travis Gagie, Adrián Goga, Artur Jez, and Gonzalo Navarro

We give algorithms that, given a straight-line program (SLP) with g rules that generates (only) a text T[1..n], build within O(g) space the Lempel-Ziv (LZ) parse of T (of z phrases) in time O(n log^2 n) or in time O(gz log^2(n/z)). We also show how to build a locally consistent grammar (LCG) of optimal size g_lc = O(δ log (n/δ)) from the SLP within O(g+g_lc) space and in O(n log g) time, where δ is the substring complexity measure of T. Finally, we show how to build the LZ parse of T from such an LCG within O(g_lc) space and in time O(z log^2 n log^2(n/z)). All our results hold with high probability.