У меня есть две очень большие строки, и я пытаюсь выяснить их Самая длинная общая подстрока.
Одним из способов является использование суффиксных деревьев (предполагается, что они имеют очень хорошую сложность, хотя и сложную реализацию), а другим является метод динамического программирования (оба упомянуты в Википедии). страницу по ссылке выше).
Использование динамического программирования
Проблема в том, что метод динамического программирования имеет огромное время работы (сложность равна O(n*m)
, где n
и m
— длины двух строк).
Что я хочу знать (прежде чем переходить к реализации суффиксных деревьев): Можно ли ускорить алгоритм, если я хочу знать только длину общей подстроки (а не самой общей подстроки)?