Based on the Breslauer-Italiano online suffix tree construction algorithm (2013) with double logarithmic worst-case guarantees on the update time per letter, we develop near-real-time algorithms for several classical problems on strings, including the computation of the longest repeating suffix array, the (reversed) Lempel-Ziv 77 factorization, and the maintenance of minimal unique substrings, all in an online manner. Our solutions improve over the best known running times for these problems in terms of the worst-case time per letter, for which we achieve a poly-log-logarithmic time complexity, within a linear space. Best known results for these problems require a poly-logarithmic time complexity per letter or only provide amortized complexity bounds. As a result of independent interest, we give conversions between the longest previous factor array and the longest repeating suffix array in space and time bounds based on their irreducible representations, which can have sizes sublinear in the length of the input string.
翻译:基于Breslauer-Italiano在线后缀树构建算法(2013)——该算法在每字符更新时间的最坏情况下具有双对数保证——我们针对若干经典字符串问题开发了近实时算法,包括最长重复后缀数组的计算、(逆序)Lempel-Ziv 77分解的构建,以及最小唯一子串的在线维护。在线性空间内,我们的解决方案在每字符最坏情况时间复杂度方面改进了这些问题的最佳已知运行时间,实现了多对数对数级别的时间复杂度。针对这些问题的最佳已知结果需要每字符多对数级别的时间复杂度,或仅提供摊销复杂度界限。作为具有独立价值的研究成果,我们基于不可约表示(其规模可能低于输入字符串长度的线性阶)给出了最长先前因子数组与最长重复后缀数组在空间和时间界限上的相互转换方法。