覆盖后缀树的线性时间构造及其应用
数据结构与算法
2023-08-09 v1
摘要
字符串的覆盖后缀树(CST)是的后缀树,带有对应于的平方子串之半的额外显式节点。在CST中,对应于的子串的显式节点标注有两个数字:非重叠连续出现的次数,以及中被在中的出现所覆盖的位置总数。Kociumaka等人(Algorithmica, 2015)展示了如何在时间内计算长度为的字符串的CST。我们展示了在为整数字母表的前提下如何在时间内计算CST。Kociumaka等人(Algorithmica, 2015; Theor. Comput. Sci., 2018)已表明,已知长度为的字符串的CST,就能在时间内计算的所有种子的线性大小表示,以及对于给定的计算中所有最短-部分覆盖和种子。因此我们的结果意味着计算这些拟周期概念的线性时间算法。所得的计算种子的算法与此前的算法(Kociumaka等人,SODA 2012, ACM Trans. Algorithms, 2020)有实质性不同。Kociumaka等人(Algorithmica, 2015)提出了一种时间算法,用于对每一个计算最短-部分覆盖;我们将此复杂度改进为。我们的结果基于用中的游程集合(见Kolpakov和Kucherov, FOCS 1999)对的子串的连续重叠出现的新刻画。这一新见解还导出了一个大小为的索引,用于在时间内报告给定长度为的模式的重叠连续出现,其中为报告的出现次数。相比之下,Navarro和Thankachan(Theor. Comput. Sci., 2016)用于报告有界间隔连续出现的通用索引使用空间。
引用
@article{arxiv.2308.04289,
title = {Linear Time Construction of Cover Suffix Tree and Applications},
author = {Jakub Radoszewski},
journal= {arXiv preprint arXiv:2308.04289},
year = {2023}
}
备注
Accepted to ESA 2023. Abstract abridged to satisfy arxiv requirements