中文

构造线性大小后缀字典树的线性时间在线算法

数据结构与算法 2023-12-06 v3

摘要

后缀树是各类字符串处理的基础数据结构。长度为nn的文本串TT的后缀树具有O(n)O(n)个节点和边,且每条边的字符串标签由TT中的一对位置编码。因此,即使在树构建完成后,仍需保存输入串TT并对其进行随机访问。Crochemore等人[Linear-size suffix tries, TCS 638:171-178, 2016]提出的\emph{线性大小后缀字典树}(\emph{LSTs})是后缀树的一种“独立”替代方案。即,长度为nn的输入文本串TT的LST占用O(n)O(n)总空间,并能在不存储输入文本串TT的情况下,以与后缀树相同的效率支持模式匹配及其他任务。Crochemore等人提出了一种\emph{离线}算法,该算法在O(nlogσ)O(n \log \sigma)时间和O(n)O(n)空间内将TT的后缀树转换为TT的LST,其中σ\sigma为字母表大小。本文提出两类\emph{在线}算法,它们“直接”构造LST,分别为从右到左和从左到右,且不以后缀树作为中间结构。两种算法均在新符号读入时增量构造LST,且不访问先前读入的符号。从右到左构造算法与从左到右构造算法均工作在O(nlogσ)O(n \log \sigma)时间和O(n)O(n)空间。我们算法的主要特征是无需存储输入文本串。

关键词

引用

@article{arxiv.2301.04295,
  title  = {Linear Time Online Algorithms for Constructing Linear-size Suffix Trie},
  author = {Diptarama Hendrian and Takuya Takagi and Shunsuke Inenaga and Keisuke Goto and Mitsuru Funakoshi},
  journal= {arXiv preprint arXiv:2301.04295},
  year   = {2023}
}

备注

27 pages, 14 figures. arXiv admin note: text overlap with arXiv:1901.10045