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) .
Siruri de caractere | |
---|---|
Măsuri de similitudine a șirurilor | |
Căutare subșir | |
palindromuri | |
Alinierea secvenței | |
Structuri de sufix | |
Alte |