Как найти самую длинную общую подстроку с помощью C++C++

Программы на C++. Форум разработчиков
Anonymous
Как найти самую длинную общую подстроку с помощью C++

Сообщение Anonymous »


Я искал в Интернете реализацию C++ Longest Common Substring, но не нашел подходящей. Мне нужен алгоритм LCS, который возвращает саму подстроку, так что это не просто LCS.

Однако мне было интересно, как я могу сделать это между несколькими строками.

Моя идея заключалась в том, чтобы проверить самую длинную строку между двумя строками, а затем проверить все остальные, но это очень медленный процесс, который требует управления множеством длинных строк в памяти, что делает мою программу довольно медленной.

Есть идеи, как это можно ускорить для нескольких строк? Спасибо.

Важное изменение Одна из переменных, которые мне даны, определяет количество строк, в которых должна находиться самая длинная общая подстрока, поэтому мне можно дать 10 строк и найти LCS для них всех (K = 10) или LCS для 4 из них, но мне не говорят какие 4, мне нужно найти 4 лучших.

Вернуться в «C++»