Cel mai mare subșir comun

Cel mai lung subșir comun este un  subșir de două sau mai multe șiruri care are lungimea maximă.

Formal, cel mai mare subșir comun de șiruri este șirul care îndeplinește condiția , operația înseamnă că șirul este un subșir (posibil impropriu) al șirului .

Soluția problemei găsirii celui mai mare subșir comun pentru două șiruri și , ale căror lungimi și respectiv, este de a umple tabelul cu dimensiunea conform următoarei reguli, presupunând că caracterele din șir sunt numerotate de la unu.

Numărul maxim din tabel este lungimea celui mai lung subșir comun, subșirul în sine:

și .

Tabelul este completat cu valori pentru rândurile SUBSEQUENCE și SUBEUENCS :

SUBSECVENȚA 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 _

Obțineți cel mai mare subșir comun UENC.

Complexitatea unui astfel de algoritm este O (mn) .

Vezi și

Note