On Strings Having the Same Length-k Substrings
Abstract
Let Substr k (X) denote the set of length-k substrings of a given string X for a given integer k > 0. We study the following basic string problem, called z-Shortest S k-Equivalent Strings: Given a set S k of n length-k strings and an integer z > 0, list z shortest distinct strings T1,. .. , Tz such that Substr k (Ti) = S k , for all i ∈ [1, z]. The z-Shortest S k-Equivalent Strings problem arises naturally as an encoding problem in many real-world applications; e.g., in data privacy, in data compression, and in bioinformatics. The 1-Shortest S k-Equivalent Strings, referred to as Shortest S k-Equivalent String, asks for a shortest string X such that Substr k (X) = S k. Our main contributions are summarized below: Given a directed graph G(V, E), the Directed Chinese Postman (DCP) problem asks for a shortest closed walk that visits every edge of G at least once. DCP can be solved in Õ(|E||V |) time using an algorithm for min-cost flow. We show, via a non-trivial reduction, that if Shortest S k-Equivalent String over a binary alphabet has a near-linear-time solution then so does DCP. We show that the length of a shortest string output by Shortest S k-Equivalent String is in O(k + n 2). We generalize this bound by showing that the total length of z shortest strings is in O(zk + zn 2 + z 2 n). We derive these upper bounds by showing (asymptotically tight) bounds on the total length of z shortest Eulerian walks in general directed graphs. We present an algorithm for solving z-Shortest S k-Equivalent Strings in O(nk + n 2 log 2 n + zn 2 log n + |output|) time. If z = 1, the time becomes O(nk + n 2 log 2 n) by the fact that the size of the input is Θ(nk) and the size of the output is O(k + n 2).
Domains
Computer Science [cs]
Origin : Publisher files allowed on an open archive