Computing the LCP Array of a Labeled Graph
<|reference_start|>Computing the LCP Array of a Labeled Graph: The LCP array is an important tool in stringology, allowing to speed up pattern matching algorithms and enabling compact representations of the suffix tree. Recently, Conte et al. [DCC 2023] and Cotumaccio et al. [SPIRE 2023] extended the definition of this array to Wheeler DFAs and, ultimately, to arbitrary labeled graphs, proving that it can be used to efficiently solve matching statistics queries on the graph's paths. In this paper, we provide the first efficient algorithm building the LCP array of a directed labeled graph with $n$ nodes and $m$ edges labeled over an alphabet of size $\sigma$. After arguing that the natural generalization of a compact-space LCP-construction algorithm by Beller et al. [J. Discrete Algorithms 2013] runs in time $\Omega(n\sigma)$, we present a new algorithm based on dynamic range stabbing building the LCP array in $O(n\log \sigma)$ time and $O(n\log\sigma)$ bits of working space.<|reference_end|>
@article{alanko2024computing,
    title={Computing the LCP Array of a Labeled Graph},
    author={Jarno Alanko, Davide Cenzato, Nicola Cotumaccio, Sung-Hwan Kim,
  Giovanni Manzini, Nicola Prezza},
    journal={arXiv preprint arXiv:2404.14235},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.14235},
    primaryClass={cs.DS}
}