Sammanfogning av ord enligt deras överlappning ger en supersträng. Denna grundläggande operation gör det möjligt att härleda långa strängar från en samling korta bitar, som i genom montering. För att fånga ett maximum av överlappningar, är målet att härleda den kortaste supersträngen av en uppsättning inmatningsord. Det kortaste cykliska omslaget av strängar (SCCS) problemet ber, i stället för en enda linjär supersträng, för en uppsättning cykliska strängar som innehåller orden som substrängar och vars summa av längder är minimal. SCCS används som ett avgörande steg i polynom tid approximation algoritmer för den särskilt hårda Kortaste Superstring problem, men det är löst i kubik tid. De cykliska strängarna klipps sedan och slås samman för att bygga en linjär supersträng. SCCS kan också lösas med en girig algoritm. Här föreslår vi en linjär tidsalgoritm för att lösa SCCS baserat på en eulersk graf som fångar alla giriga lösningar i linjärt utrymme. Eftersom grafen är eulerian, kan denna algoritm också hitta en girig lösning av SCCS med det minsta antalet cykliska strängar. Detta har konsekvenser för att lösa vissa fall av de kortaste linjära eller cykliska Superstring problem.
SCCS brukar lösas i polynom tid med den ungerska algoritmen; vi har nyligen ställt ut en linjär tid algoritm för SCCS och introducerade Superstring Graph för denna skull REF.
A linear time algorithm for Shortest Cyclic Cover of Strings
{'venue': 'J. Discrete Algorithms', 'journal': 'J. Discrete Algorithms', 'mag_field_of_study': ['Mathematics', 'Computer Science']}