Största gemensamma delsträngen

Den längsta gemensamma delsträngen är en  delsträng av två eller flera strängar som har den maximala längden.

Formellt är den största vanliga delsträngen av strängar strängen som uppfyller villkoret , operationen betyder att strängen är en (möjligen felaktig) delsträng av strängen .

Lösningen på problemet med att hitta den största gemensamma delsträngen för två strängar och , vars längder respektive , är att fylla tabellen med storleken enligt följande regel, förutsatt att tecknen i strängen är numrerade från en.

Det maximala antalet i tabellen är längden på den längsta gemensamma delsträngen, själva delsträngen:

och .

Tabellen är fylld med värden för SUBSEQUENCE- och SUBEUENCS- raderna :

EFTERFÖLJNING 00000000000 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 000000 4 0 S 0 1 000000 1 0000000 _

Få den största gemensamma UENC-delsträngen.

Komplexiteten hos en sådan algoritm är O (mn) .

Se även

Anteckningar