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 T 1 , . . . , T z such that Substr k ( T i ) = 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 ˜ O ( | 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 ).
更多
查看译文
关键词
Directed Chinese postman,Eulerian walk,de Bruijn graph,Listing