Задача о наименьшей суперпоследовательности — различия между версиями
Motyaspr (обсуждение | вклад) (Новая страница: «{{Определение |definition= Последовательность <tex> Z = \left \langle z_1, z_2, \dots, z_k \right \rangle </tex> является '''...») |
Motyaspr (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | Последовательность <tex> Z = \left \langle z_1, z_2, \dots, z_k \right \rangle </tex> является ''' | + | Последовательность <tex> Z = \left \langle z_1, z_2, \dots, z_k \right \rangle </tex> является '''суперпоследовательностью''' (англ. ''supersequence'') последовательности <tex> X = \left \langle x_1, x_2, \dots, x_m \right \rangle </tex>, если существует строго возрастающая последовательность <tex> \left \langle i_1, i_2, \dots, i_m \right \rangle </tex> индексов <tex> Z </tex> таких, что для всех <tex> j = 1, 2, \dots, m </tex> выполняется соотношение <tex> z_{i_j} = x_j </tex>. |
}} | }} | ||
Версия 15:37, 23 декабря 2017
Определение: |
Последовательность | является суперпоследовательностью (англ. supersequence) последовательности , если существует строго возрастающая последовательность индексов таких, что для всех выполняется соотношение .
Определение: |
Последовательность | является общей суперпоследовательностью (англ. common supersequence) последовательностей и , если и являются подпоследовательностями .
Задача: |
Пусть имеются последовательности | и . Необходимо найти
Наивное решение
Заметим, что если приписать к одной из данной последовательность другую, то полученная последовательность будет их суперпоследовательностью с длиной
. Запомним все элементы обеих последовательностей и из них построим все возможные последовательности. Тогда искомая гарантированно найдётся, однако время работы алгоритма будет экспоненциально зависеть от длины исходных последовательностей.