arXiv · 2605.04826
Faster Algorithms for Shortest Unique or Absent Substrings
Abstract
We revisit two well-known algorithmic problems on strings: computing a shortest unique substring (SUS) and a shortest absent substring (SAS) of a string $S$ of length $n$. Both problems admit folklore $\mathcal{O}(n)$-time solutions using the suffix tree of $S$. However, for small alphabets, this complexity is not necessarily optimal in the word RAM model, where a string of length $n$ over alphabet $[0,\sigma)$ can be stored in $\mathcal{O}(n \log \sigma/\log n)$ space and read in $\mathcal{O}(n \log \sigma/\log n)$ time. We present an $\mathcal{O}(n \log \sigma/\sqrt{\log n})$-time algorithm for computing a SUS of $S$. This algorithm decomposes the problem according to the length and the period of the sought substring and uses several tools and techniques, such as synchronizing sets, the analysis of runs, and wavelet trees, to reduce the computation of a SUS to a simple geometric problem. Further, we adapt this algorithm and combine it with an efficient construction of de Bruijn sequences in order to obtain an $\mathcal{O}(n \log \sigma/\sqrt{\log n})$-time algorithm for computing a SAS of $S$.
Explore related subjects
Keep this discovery
Panagiotis Charalampopoulos, Manal Mohamed, Solon P. Pissis, Hilde Verbeek, Wiktor Zuba. 2026-05-06. Faster Algorithms for Shortest Unique or Absent Substrings. https://arxiv.org/abs/2605.04826
Cite the original work for its findings. Save a collection to share your selection of sources.