最短子字符串问题

来源:互联网 发布:raphael.js 下载 编辑:程序博客网 时间:2024/05/01 11:11

1、给定一组字符串,寻找一条全部包含它们的最短字符串。

输入:字符串S1,S2,..,Sn

输出:包含所有字符串S1,S2,...,Sn的一条字符串S,被视为超字符串,使得S的长度尽可能小。

2、定义交叠overlap(Si,Sj)是与Si的后缀相匹配的Sj的最长前缀的长度。可视之为一个具有对应于字符串S1,S2,...,Sn的n个顶点和长度为overlap(Si,Sj)的边的完全有向图。最早的DNA测序法使用一个策略:反复地用最大的交叠合并一对字符串,直到仅剩下一个字符串。

笔者理解,好像是在寻找一条仅经过所有点一次的最长路径,找到最大边后,就选择其中度数最大的点,以这个点为基点继续寻找