Prefix Sorting DFAs: a Recursive Algorithm

by   Nicola Cotumaccio, et al.

In the past thirty years, numerous algorithms for building the suffix array of a string have been proposed. In 2021, the notion of suffix array was extended from strings to DFAs, and it was shown that the resulting data structure can be built in O(m^2 + n^5/2) time, where n is the number of states and m is the number of edges [SODA 2021]. Recently, algorithms running in O(mn) and O(n^2log n) time have been described [CPM 2023]. In this paper, we improve the previous bounds by proposing an O(n^2) recursive algorithm inspired by Farach's algorithm for building a suffix tree [FOCS 1997]. To this end, we provide insight into the rich lexicographic and combinatorial structure of a graph, so contributing to the fascinating journey which might lead to solve the long-standing open problem of building the suffix tree of a graph.


page 1

page 2

page 3

page 4


Update Query Time Trade-off for dynamic Suffix Arrays

The Suffix Array SA(S) of a string S[1 ... n] is an array containing all...

Suffix sorting via matching statistics

We introduce a new algorithm for constructing the generalized suffix arr...

Compressibility-Aware Quantum Algorithms on Strings

Sublinear time quantum algorithms have been established for many fundame...

On the Optimisation of the GSACA Suffix Array Construction Algorithm

The suffix array is arguably one of the most important data structures i...

Faster Prefix-Sorting Algorithms for Deterministic Finite Automata

Sorting is a fundamental algorithmic pre-processing technique which ofte...

On Prefix-Sorting Finite Automata

Being able to efficiently test the membership of a word in a formal lang...

Improving the dilation of a metric graph by adding edges

Most of the literature on spanners focuses on building the graph from sc...

Please sign up or login with your details

Forgot password? Click here to reset