
Функциональный блок SIMILAR_TEXT вычисляет сходство двух строк.
Вычисление сходства двух строк производится по методу, описанному в книге Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). Обратите внимание, что данная реализация не использует стек, как в псевдокоде Оливера, но использует рекурсивные вызовы, которые могут повысить производительность (но не обязательно). Также обратите внимание, что сложность этого алгоритма составляет O(N³), где N — длина самой длинной строки.
Вход определяет первую строку, которую необходимо сравнить.
Вход определяет вторую строку, которую необходимо сравнить.
Выход возвращает количество совпадающих символов в обеих строках.
Количество совпадающих символов вычисляется путем поиска самой длинной общей начальной подстроки и повторения этого процесса рекурсивно для префиксов и суффиксов. Длины всех найденных общих подстрок суммируются.
Выход возвращает сходство в виде процентного значения в формате числа с плавающей запятой. Для этого результат делится на среднюю длину указанных строк и умножается на 100.