Считая класс difflib.SequenceMatcher
в стандартной библиотеке Python неподходящим для моих нужд, был написан универсальный модуль "diff" -ing для решения проблемного пространства. После нескольких месяцев, чтобы больше думать о том, что он делает, рекурсивный алгоритм, похоже, ищет больше, чем нужно, повторно просматривая те же области в последовательности, которую, возможно, также исследовала отдельная «поисковая цепочка».
Цель модуля diff
состоит в том, чтобы вычислить разницу и сходство между парой последовательностей (список, кортеж, строка, байты, bytearray и т. Д.). Первоначальная версия была намного медленнее, чем текущая форма кода, увеличив скорость в десять раз. У кого-нибудь есть предложения по внедрению метода сокращения пространств поиска в рекурсивных алгоритмах для повышения производительности?