Reversal Distance for Strings with Duplicates: Linear Time Approximation Using Hitting Set

  • Petr Kolman
  • Tomasz Waleń
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4368)


In the last decade there has been an ongoing interest in string comparison problems; to a large extend the interest was stimulated by genome rearrangement problems in computational biology but related problems appear in many other areas of computer science. Particular attention has been given to the problem of sorting by reversals (SBR): given two strings, A and B, find the minimum number of reversals that transform the string A into the string B (a reversalρ(i,j), i<j, transforms a string A=a 1...a n into a string A′=a 1...a i − 1 a j a j − 1 ...a i a j + 1 ...a n ).

Primarily the problem has been studied for strings in which every symbol appears exactly once (that is, for permutations) and only recently attention has been given to the general case where duplicates of the symbols are allowed. In this paper we consider the problem k-SBR, a version of SBR in which each symbol is allowed to appear up to k times in each string, for some k≥1. The main result of the paper is a Θ(k)-approximation algorithm for k-SBR running in time O(n); compared to the previously known algorithm for k-SBR, this is an improvement by a factor of Θ(k) in the approximation ratio, and by a factor of Θ(k) in the running time. Crucial ingredients of our algorithm are the suffix tree data structure and a linear time algorithm for a special case of a disjoint set union problem.


Approximation algorithms String comparison Sorting by reversals Minimum common string partition Suffix trees 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ausiello, G., D’Atri, A., Protasi, M.: Structure preserving reductions among convex optimization problems. Journal of Computer and System Sciences 21(1), 136–153 (1980)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Caprara, A.: Sorting permutations by reversals and Eulerian cycle decompositions. SIAM Journal on Discrete Mathematics 12(1), 91–110 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Chen, X., Zheng, J., Fu, Z., Nan, P., Zhong, Y., Lonardi, S., Jiang, T.: Assignment of orthologous genes via genome rearrangement. IEEE/ACM Transactions on Computational Biology and Bioinformatics 2(4), 302–315 (2005)CrossRefGoogle Scholar
  4. 4.
    Christie, D.A., Irving, R.W.: Sorting strings by reversals and by transpositions. SIAM Journal on Discrete Mathematics 14(2), 193–206 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Chrobak, M., Kolman, P., Sgall, J.: The greedy algorithm for the minimum common string partition problem. ACM Transactions on Algorithms 1(2), 350–366 (2005)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Cormode, G., Muthukrishnan, S.: The string edit distance matching problem with moves. In: Proceedings of the 13th Annual ACM-SIAM Symposium On Discrete Mathematics (SODA), pp. 667–676 (2002)Google Scholar
  7. 7.
    Farach, M.: Optimal suffix tree construction with large alphabets. In: Proceedings of the 38th Annual Symposium on Foundations of Computer Science (FOCS), pp. 137–143 (1997)Google Scholar
  8. 8.
    Gabow, H.N., Tarjan, R.E.: A linear-lime algorithm for a special case of disjoint set union. Journal of Computer and System Sciences 30(2), 209–221 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Goldstein, A., Kolman, P., Zheng, J.: Minimum Common String Partition Problem: Hardness and Approximations. The Electronic Journal of Combinatorics 12(1) (2005)Google Scholar
  10. 10.
    Hannenhalli, S., Pevzner, P.A.: Transforming cabbage into turnip: polynomial algorithm for sorting signed permutations by reversals. Journal of the ACM 46(1), 1–27 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Kolman, P.: Approximating reversal distance for strings with bounded number of duplicates. In: Jedrzejowicz, J., Szepietowski, A. (eds.) MFCS 2005. LNCS, vol. 3618, pp. 580–590. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Weiner, P.: Linear pattern matching algorithms. In: 14th IEEE Symposium on switching and automata theory, pp. 1–11 (1973)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Petr Kolman
    • 1
  • Tomasz Waleń
    • 2
  1. 1.Faculty of Mathematics and Physics, Department of Applied MathematicsCharles University in Prague 
  2. 2.Faculty of Mathematics, Informatics and MechanicsWarsaw University 

Personalised recommendations