Подтвердить что ты не робот

Эффективная библиотека с наиболее длинной общей подпоследовательностью?

Я ищу эффективную реализацию алгоритма LCS (пробела) для использования в программе на С++. Входы представляют собой две последовательности случайного доступа целых чисел.
В настоящее время я использую подход динамического программирования на странице wikipedia о LCS. Тем не менее, это имеет O (mn) поведение в памяти и времени и умирает от меня с ошибками памяти из-за больших входных данных.
Я читал об алгоритме Хиршберга, который значительно улучшает использование памяти, Хант-Шимански и Масек и Патерсон. Поскольку это не так, чтобы реализовать их, я бы предпочел попробовать их на своих данных с существующей реализацией. Кто-нибудь знает о такой библиотеке? Я бы предположил, что, поскольку инструменты для текстового разбора довольно распространены, должны существовать библиотеки с открытым исходным кодом?

4b9b3361

Ответ 1

При поиске таких вещей, попробуйте learnar.google.com. Это намного лучше для поиска научных работ. Это оказалось http://www.biotec.icb.ufmg.br/cabi/artigos/seminarios2/subsequence_algorithm.pdf этот документ, "обзор наиболее длинных алгоритмов подпоследовательности".