Nejdelší společný podřetězec je podřetězec dvou nebo více řetězců, který má maximální délku.
Formálně je největším společným podřetězcem řetězců řetězec , který splňuje podmínku , operace znamená, že řetězec je (možná nesprávným) podřetězcem řetězce .
Řešením problému najít největší společný podřetězec pro dva řetězce a , jejichž délky , resp., je vyplnit tabulku velikostí podle následujícího pravidla za předpokladu, že znaky v řetězci jsou číslovány od jedné.
Maximální číslo v tabulce je délka nejdelšího společného podřetězce, samotného podřetězce:
a .
Tabulka je naplněna hodnotami pro řádky SUBSEQUENCE a SUBEUENCS :
SUBSEKVENCE 000000000000 S 0 1 00 1 0000000 U 00 2 0000 1 0000 B 000 3 00000000 E 00000 1 00 1 00 1 U 00 1 0000 1 0000 E 00000 1 00 2 00 1 N 0000000 3 00 00000000 4 0 S 0 1 0000000 1 0000000 _Získejte největší společný podřetězec UENC.
Složitost takového algoritmu je O (mn) .
Struny | |
---|---|
Míry podobnosti řetězců | |
Hledání podřetězců | |
palindromy | |
Sekvenční zarovnání | |
Struktury přípon | |
jiný |