SIMILAR_TEXT İş Bloku

SIMILAR_TEXT İş Bloku iki karakter dizisinin benzerliğini hesaplar.

İki karakter dizisinin benzerliği, Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1) kitabında açıklanan yöntem kullanılarak gerçekleştirilir. Bu uygulamanın Oliver'in Pseudo-Kodu'nda olduğu gibi bir stack kullanmadığına dikkat edin, ancak rekürsif çağrılar kullanır ve bu performansı artırabilir (ama mutlaka artırmak zorunda değildir). Ayrıca, bu algoritmanın karmaşıklığının O(N³) olduğunu unutmayın; N en uzun karakter dizisinin uzunluğudur.

Giriş STR1

Bu giriş, karşılaştırılacak ilk karakter dizisini tanımlar.

Giriş STR2

Bu giriş, karşılaştırılacak ikinci karakter dizisini tanımlar.

Çıkış SIM

Bu çıkış, iki karakter dizisinde uyumlu olan karakter sayısını döndürür.

Uyumlu karakter sayısı, en uzun ilk ortak alt karakter dizisi aranarak ve bu işlem ön ekler ve son ekler için rekürsif olarak tekrarlandıkça hesaplanır. Tüm bulunan ortak alt karakter dizilerinin uzunlukları toplanır.

Çıkış PERCENT

Bu çıkış, benzerliği yüzde olarak bir kayan nokta sayısı olarak döndürür. Bunun için sonuç, belirtilen karakter dizilerinin uzunluklarının ortalamasıyla bölünür ve 100 ile çarpılır.