Weighted Ancestors in Suffix Trees Revisited

dc.contributor.authorBelazzougui, Djamal
dc.contributor.authorKosolobov, Dmitry
dc.contributor.authorPuglisi, Simon J.
dc.contributor.authorRaman, Rajeev
dc.description.abstractThe weighted ancestor problem is a well-known generalization of the predecessor problem to trees. It is known to require Ω(log log n) time for queries provided 𝒪(n polylog n) space is available and weights are from [0..n], where n is the number of tree nodes. However, when applied to suffix trees, the problem, surprisingly, admits an 𝒪(n)-space solution with constant query time, as was shown by Gawrychowski, Lewenstein, and Nicholson (Proc. ESA 2014). This variant of the problem can be reformulated as follows: given the suffix tree of a string s, we need a data structure that can locate in the tree any substring s[p..q] of s in 𝒪(1) time (as if one descended from the root reading s[p..q] along the way). Unfortunately, the data structure of Gawrychowski et al. has no efficient construction algorithm, limiting its wider usage as an algorithmic tool. In this paper we resolve this issue, describing a data structure for weighted ancestors in suffix trees with constant query time and a linear construction algorithm. Our solution is based on a novel approach using so-called irreducible LCP values.
dc.publisherSchloss Dagstuhl - Leibniz-Zentrum für Informatik 2021
dc.relation.ispartofseries32nd Annual Symposium on Combinatorial Pattern Matching, CPM 2021. LIPIcs 191.
dc.relation.placeWrocław, Poland.
dc.structureCAlcul Parallèle et Applications
dc.subjectsuffix tree
dc.subjectweighted ancestors
dc.subjectirreducible LCP
dc.subjectdeterministic substring hashing
dc.titleWeighted Ancestors in Suffix Trees Revisited
dc.typeConference paper