论文标题
双端的全回文树:线性时间数据结构及其应用
Double-Ended Palindromic Trees: A Linear-Time Data Structure and Its Applications
论文作者
论文摘要
palindromic树(又称eertree)是一种线性大小的数据结构,可访问字符串的所有palindromic子字符串。在本文中,我们提出了一个通用版本的eertree,称为Double-tender Eertree,该版本支持在存储字符串上的线性时间在线双端队列操作。我们建筑的核心是一类称为“表面”的子字符类,具有独立的兴趣。也就是说,表面既不是任何其他腔膜子字符串的前缀也不是后缀,也不是eertree中所有palindromic substring的链接结构。 作为一种应用,我们为涉及弦上的wallindromes的范围查询开发了一个框架,包括计算独特的plindromic substrings,并找到最长的alindindromic substring,最短独特的独特性底粒底带和任何substrint的最短呼吸道。特别是,离线查询仅使用线性空间。除了范围查询外,我们还列举了给定单词长度的线性时间的给定单词。
The palindromic tree (a.k.a. eertree) is a linear-size data structure that provides access to all palindromic substrings of a string. In this paper, we propose a generalized version of eertree, called double-ended eertree, which supports linear-time online double-ended queue operations on the stored string. At the heart of our construction, is a class of substrings, called surfaces, of independent interest. Namely, surfaces are neither prefixes nor suffixes of any other palindromic substrings and characterize the link structure of all palindromic substrings in the eertree. As an application, we develop a framework for range queries involving palindromes on strings, including counting distinct palindromic substrings, and finding the longest palindromic substring, shortest unique palindromic substring and shortest absent palindrome of any substring. In particular, offline queries only use linear space. Apart from range queries, we enumerate palindromic rich strings with a given word in linear time on the length of the given word.