Bloco de Função SIMILAR_TEXT

O bloco de função SIMILAR_TEXT calcula a similaridade entre duas cadeias de caracteres.

O cálculo da similaridade entre duas cadeias de caracteres é realizado pelo método descrito em Programming Classics: Implementing the World's Best Algorithms por Oliver (ISBN 0-131-00413-1). Observe que essa implementação não utiliza uma pilha como no pseudocódigo de Oliver, mas sim chamadas recursivas, que podem melhorar o desempenho (mas não necessariamente). Observe também que a complexidade desse algoritmo é O(N³), onde N é o comprimento da cadeia de caracteres mais longa.

Entrada STR1

A entrada define a primeira cadeia de caracteres que será comparada.

Entrada STR2

A entrada define a segunda cadeia de caracteres que será comparada.

Saída SIM

A saída retorna o número de caracteres correspondentes em ambas as cadeias de caracteres.

O número de caracteres correspondentes é calculado encontrando a maior primeira subcadeia comum e repetindo isso recursivamente para os prefixos e sufixos. Os comprimentos de todas as subcadeias comuns encontradas são somados.

Saída PERCENT

A saída retorna a similaridade como um valor percentual como número de ponto flutuante. Para isso, o resultado é dividido pela média dos comprimentos das cadeias de caracteres especificadas e multiplicado por 100.