Функциональный блок SIMILAR_TEXT

Функциональный блок SIMILAR_TEXT вычисляет сходство двух строк.

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

Вход STR1

Вход определяет первую строку, которую необходимо сравнить.

Вход STR2

Вход определяет вторую строку, которую необходимо сравнить.

Выход SIM

Выход возвращает количество совпадающих символов в обеих строках.

Количество совпадающих символов вычисляется путем поиска самой длинной общей начальной подстроки и повторения этого процесса рекурсивно для префиксов и суффиксов. Длины всех найденных общих подстрок суммируются.

Выход PERCENT

Выход возвращает сходство в виде процентного значения в формате числа с плавающей запятой. Для этого результат делится на среднюю длину указанных строк и умножается на 100.