A Longest Common Extension (LCE) query on a text T of length N asks for the length of the longest common prefix of suffixes starting at given two positions. We show that the signature encoding G of size w = O(min(z log N log * M, N )) [Mehlhorn et al., Algorithmica 17(2):183-198, 1997] of T , which can be seen as a compressed representation of T , has a capability to support LCE queries in O(log N + log ℓ log * M ) time, where ℓ is the answer to the query, z is the size of the Lempel-Ziv77 (LZ77) factorization of T , and M ≥ 4N is an integer that can be handled in constant time under word RAM model. In compressed space, this is the fastest deterministic LCE data structure in many cases. Moreover, G can be enhanced to support efficient update operations: After processing G in O(wfA) time, we can insert/delete any (sub)string of length y into/from an arbitrary position of T in O((y + log N log * M )fA) time, where fA = O(min{ log log M log log w log log log M , log w log log w }). This yields the first fully dynamic LCE data structure working in compressed space. We also present efficient construction algorithms from various types of inputs: We can construct G in O(N fA) time from uncompressed string T ; in O(n log log(n log * M ) log N log * M ) time from grammar-compressed string T represented by a straight-line program of size n; and in O(zfA log N log * M ) time from LZ77-compressed string T with z factors. On top of the above contributions, we show several applications of our data structures which improve previous best known results on grammar-compressed string processing.
As another application of signature encodings, Nishimoto et al. showed that signature encodings for a dynamic string T can support Longest Common Extension (LCE) queries on T efficiently in compressed space REF .
Fully dynamic data structure for LCE queries in compressed space
ArXiv
ArXiv
Computer Science Mathematics