Изменения

Перейти к: навигация, поиск

Задача о наибольшей общей подпоследовательности

Нет изменений в размере, 07:51, 23 ноября 2011
Нет описания правки
prev[i][j] = pair(i, j - 1)
// вывод НОП, вызывается как PrintLCSprintLCS(prev, x, m, n) PrintLCSprintLCS(prev, x, i, j)
if i == 0 or j == 0 // пришли к началу НОП
return
if prev[i][j] == pair(i - 1, j - 1) // если пришли в lcs[i][j] из lcs[i - 1][j - 1], то x[i] == y[j], надо вывести этот элемент
PrintLCSprintLCS(prev, x, i - 1, j - 1)
print x[i]
else
if prev[i][j] == pair(i - 1, j)
PrintLCSprintLCS(prev, x, i - 1, j)
else
PrintLCSprintLCS(prev, x, i, j - 1)
== Оптимизация для вычисления только длины НОП ==
418
правок

Навигация