The suffix array SAw of a string w of length n is a permutation of [1..n] such that SAw[i]=j iff w[j, n] is the lexicographically i-th suffix of w. In this paper, we consider variants of the reverse-engineering problem on suffix arrays with two given permutations P and Q of [1..n], such that P refers to the forward suffix array of some string w and Q refers to the backward suffix array of the reversed string wR. Our results are the following: (1) An algorithm which computes a solution string over an alphabet of the smallest size, in O(n) time. (2) The exact number of solution strings over an alphabet of size σ. (3) An efficient algorithm which computes all solution strings in the lexicographical order, in time near optimal up to log n factor.
CITATION STYLE
Kuhara, Y., Nakashima, Y., Inenaga, S., Bannai, H., & Takeda, M. (2018). Recovering, counting and enumerating strings from forward and backward suffix arrays. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 11147 LNCS, pp. 254–267). Springer Verlag. https://doi.org/10.1007/978-3-030-00479-8_21
Mendeley helps you to discover research relevant for your work.