Největší společný podřetězec

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) .

Viz také

Poznámky