A linear time algorithm for Shortest Cyclic Cover of Strings - LIRMM - Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier Access content directly
Journal Articles Journal of Discrete Algorithms Year : 2016

A linear time algorithm for Shortest Cyclic Cover of Strings


Merging words according to their overlap yields a superstring. This basic operation allows to infer long strings from a collection of short pieces, as in genome assembly. To capture a maximum of overlaps, the goal is to infer the shortest superstring of a set of input words. The Shortest Cyclic Cover of Strings (SCCS) problem asks, instead of a single linear superstring, for a set of cyclic strings that contain the words as substrings and whose sum of lengths is minimal. SCCS is used as a crucial step in polynomial time approximation algorithms for the notably hard Shortest Superstring problem, but it is solved in cubic time. The cyclic strings are then cut and merged to build a linear superstring. SCCS can also be solved by a greedy algorithm. Here, we propose a linear time algorithm for solving SCCS based on a Eulerian graph that captures all greedy solutions in linear space. Because the graph is Eulerian, this algorithm can also find a greedy solution of SCCS with the least number of cyclic strings. This has implications for solving certain instances of the Shortest linear or cyclic Superstring problems.
Fichier principal
Vignette du fichier
Cazaux-Rivals-JDA-2016.pdf (540.58 Ko) Télécharger le fichier
Origin Publication funded by an institution

Dates and versions

lirmm-01525995 , version 1 (22-05-2017)



Bastien Cazaux, Eric Rivals. A linear time algorithm for Shortest Cyclic Cover of Strings. Journal of Discrete Algorithms, 2016, 37, pp.56-67. ⟨10.1016/j.jda.2016.05.001⟩. ⟨lirmm-01525995⟩
784 View
228 Download



Gmail Mastodon Facebook X LinkedIn More